Extensions of ABContact and other entities and the domain graph

If you have extended the ABContact data model, personal data purge is able to handle your extensions as long as you address domain graph design guidelines.

You can also create a variety of relationships between entities through foreign keys. Again, to support personal data purge, follow the guidelines for managing entities through the domain graph.

Following are some general guidelines:

  • An entity is referenced by the ABContact or is part of the direct contact graph. The entity must implement Extractable, which makes the entity part of the contact graph. The entity will automatically be destroyed along with the rest of the contact graph when the personal data purge initiated. This guideline also applies to entities that are used as array objects.
  • An ABContact object or other entity in the contact graph has a foreign key pointing to an entity, but the entity being pointed to has no reciprocal foreign key. The entity being pointed to is not part of the graph and is not deleted as part of personal data purge. Special handling is optional. You can add special handling to perform cleanup during the personal data purge.
  • An entity has a foreign key that points to an ABContact entity or another entity that is part of the domain graph. However, there is no reciprocal foreign key from the domain graph entity. In this case, special handling is required because deleting the domain graph object leaves nothing for the original entity’s foreign key to reference.

You can code your special handling in the ABContactPurgeMethodsImpl class.