com.google.appengine.api.datastore

## Annotation Type PostPut

-     @Target(value=METHOD)
       @Retention(value=RUNTIME)
      public @interface PostPut

  Identifies a callback method to be invoked after an `Entity` of any of the specified kinds is written to 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 `PutContext`, 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 not have any impact on the result of the datastore operation. Methods with this annotation will not be invoked if the datastore operation fails.

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `java.lang.String[]` | `kinds` The kinds to which this callback applies.

- - ### Element Detail

    - #### kinds

          public abstract java.lang.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:
        {}