Processes datastore callback annotations (
PrePut, PostPut, PreDelete, PostDelete,
PreGet, com.google.appengine.api.datastore.PostLoad, PreQuery) and
generates a config file that the Datastore API can load at runtime. Each
line of the config file is of the format:
kind.callback_type=comma-separated list of methods
where 'kind' is the kind of the entity to which the config on that line
applies, 'callback_type' is one of PrePut, PostPut, PreDelete, PostDelete,
and each entry in the comma-separated list of methods is a colon-delimited
fully-qualified classname:method name tuple. So for example, if the dev
wants a method named 'prePutCallback1' belonging to class
'com.example.MyCallbacks and a method named 'prePutCallback2'
belonging to the same class to be invoked before any entity of kind 'yar' is
put, the config file will look like this:
Each type of callback has its own signature requirements for the methods it
annotates. If any of these signature requirements are violated the processor
will produce an error. See the javadoc for the annotations for more
information about the callback-specific signature requirements.
[[["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."],[[["The `DatastoreCallbacksProcessor` handles annotations for datastore callbacks like `PrePut`, `PostPut`, `PreDelete`, `PostDelete`, `PreGet`, `PostLoad`, and `PreQuery`."],["It generates a configuration file that the Datastore API uses at runtime to determine which methods to invoke for each type of callback and entity kind."],["The config file specifies callback methods for specific entity kinds or all kinds, using a format like `kind.callback_type=comma-separated list of methods`."],["Each callback type requires specific method signatures, and the processor will flag errors if these are not followed."],["The processor can be run with a debug option that enables detailed logging statements."]]],[]]