Package dev.morphia.annotations
Annotation Type PreLoad
-
@Documented @Inherited @Retention(RUNTIME) @Target(METHOD) public @interface PreLoad
Called before the data has been loaded into the object. Here you can alter the raw BSON Document from the datastore prior to object initialization.Methods with this annotation may optionally take a parameter of type
Documentand/or a parameter of typeDatastore. If both parameters are used, the order is unimportant. For typical usage, the method should take a Document parameter.The Document parameter (if used) will be the document that this object will be loaded from. You can alter the Document here and those changes will be reflected when the object is loaded. The Datastore parameter (if used) will be the Datastore this Document was loaded from.
Example declarations (in order of most to least typical):
@PreLoadprivate void fixupDocument(Document doc) { // doc is the Document we will be initialized from. Document elements can be manually changed or removed. }@PreLoadprivate void performAdditionalQueriesBeforeLoading(Document doc, Datastore datastore) { // doc is the Document we will be loaded from. datastore is the datastore the Document originated from. }- Author:
- Scott Hernandez
- See Also:
PostLoad,PrePersist,PostPersist