DestructionRootPinnable delegate

An entity that implements this delegate gets a Do Not Destroy flag that can be checked as part of the destruction process. An entity that is intended to be the root of an entity graph must implement the DestructionRootPinnable delegate if it is to be used in personal data destruction.

Root of entity graph

The destruction process uses entity domain graphs to determine what to destroy. An object that implements the DestructionRootPinnable delegate and the RootInfo delegate is the root of an entity domain graph.

Do Not Destroy flag

A Do Not Destroy flag is provided in the DestructionRootPinnable delegate. If an entity implements this delegate, instances of the entity have a DoNotDestroy Boolean field. The default value of this field is false.

Note: If this field is on a Contact or a subtype of Contact, it is maintained only in PolicyCenter. Even if the contact is linked, the field is not sent to ContactManager, nor is it updated from ContactManager.

In the base configuration of PolicyCenter, the entities Contact, Account, Policy, PolicyTerm, and PolicyPeriod all implement the DestructionRootPinnable delegate and therefore have DoNotDestroy Boolean fields.

You can set this field in an instance of any of these entities, such as a specific contact or policy, by using the method setDoNotDestroy. The method takes the following parameters:

Boolean value
Set the flag to false to allow destruction of the entity, or to true to prevent destruction of the entity.
Callable<String> getDescription
A block that returns either a String to be used as a history event comment or null.

PolicyCenter checks this flag as part of the destruction process. For example:

  • If DoNotDestroy is set to true for the contact, the associated accounts, policies, and policy periods are not destroyed.
  • The contact specified in a personal data destruction request has two accounts, and only one of the accounts has DoNotDestroy set to true. The other account has DoNotDestroy set to false. PolicyCenter does a partial purge and deletes the account that has DoNotDestroy set to false.