Annotation Type PreDelete


@Target(METHOD) @Retention(RUNTIME) public @interface PreDelete
Identifies a callback method to be invoked before an Entity of any of the specified kinds is deleted from the datastore. If kinds() is not provided the callback will execute for all kinds. Methods with this annotation must return void, must accept a single argument of type DeleteContext, must not throw any checked exceptions, must not be static, and must belong to a class with a no-arg constructor. Neither the method nor the no-arg constructor of the class to which it belongs are required to be public. Methods with this annotation are free to throw any unchecked exception they like. Throwing an unchecked exception will prevent callbacks that have not yet been executed from running, and the exception will propagate to the code that invoked the datastore operation that resulted in the invocation of the callback. Throwing an unchecked exception from a callback will prevent the datastore operation from executing.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    The kinds to which this callback applies.
  • Element Details

    • kinds

      String[] kinds
      The kinds to which this callback applies. The default value is an empty array, which indicates that the callback should run for all kinds.
      Returns:
      The kinds to which this callback applies.
      Default:
      {}