Identifies a callback method to be invoked before 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 prevent the datastore operation from executing.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-05 UTC."],[[["`PrePut` is an interface annotation that designates a callback method to be executed before an Entity is written to the datastore."],["The callback, annotated with `PrePut`, can be configured to run for specific kinds of Entities using the `kinds()` method, or for all kinds if `kinds()` is not specified."],["Methods with the `PrePut` annotation must have specific characteristics, including returning `void`, accepting a `PutContext` argument, and not throwing checked exceptions."],["Throwing an unchecked exception within a `PrePut` callback will stop further callbacks from running and will prevent the datastore operation."],["`PrePut` is an implementation of the Annotation interface."]]],[]]