# $Id$

OGoContacts
===========

Document abstractions for Contact records. Contact records are stored in the
"company" table in the database and are mapped to the Company EOEntity, which
is why all the stuff is named "SkyCompanyXXX".


SkyPersonDocument
=================
addresses            -> array of addresses
phones               -> array of telephones
addressTypes         -> array of addressTypes (strings) [address.type]
phoneTypes           -> array of phoneTypes (strings)   [phone.type]
address.type+"Phone" -> address
phone.type+"Address" -> telephone


Class Hierarchy
===============

  NSObject
    SkyDocument
      SkyAddressDocument
      SkyCompanyDocument
        SkyEnterpriseDocument
        SkyPersonDocument
    SkyDocumentType
      SkyAddressDocumentType
      SkyEnterpriseDocumentType
      SkyPersonDocumentType
    EODataSource
      SkyAddressConverterDataSource
        SkyEnterpriseAddressConverterDataSource
        SkyPersonAddressConverterDataSource
      SkyCompanyCompanyDataSource
        SkyEnterprisePersonDataSource
        SkyPersonEnterpriseDataSource
      SkyCompanyDataSource
        SkyEnterpriseDataSource
        SkyPersonDataSource
      SkyCompanyProjectDataSource
        SkyEnterpriseProjectDataSource
        SkyPersonProjectDataSource
      SkyContactAddressDataSource
      SkyEnterpriseAllProjectsDataSource
    SkyAccessHandler
      SkyContactsAccessHandler
    SkyEnterpriseDocumentGlobalIDResolver
    SkyPersonDocumentGlobalIDResolver
