PersonalDataDestruction plugin interface

This interface provides the following methods for implementation by a ContactManager plugin implementation class:

    PersonalDataDisposition shouldDestroyRoot(
           Pinnable root, 
           Collection<Pinnable> descendants, Pinnable origin);
    PersonalDataDisposition shouldDestroyUser(UserContact userContact);
    void notifyDataProtectionOfficer(
           Pinnable root, String title, String message, Date dateOfError);
    void notifyExternalSystemsContactHasBeenPurged(
           String AddressBookUID, String requestor, String requestID);
    PersonalDataPurgeContext createContext(PersonalDataPurgeContext context);
    void prepareForPurge(PersonalDataPurgeContext context);
    void postPurge(PersonalDataPurgeContext context);
    PersonalDataDestroyer getDestroyer();

In the base configuration, ContactManager registers the ABPersonalDataDestructionSafePlugin class as the default class that implements PersonalDataDestruction, which prevents destruction of any of the pinnable root entities. A more realistic starting point for your purge definition is the ABPersonalDataDestructionSamplePlugin class.

See also