The built-in entity model, the {@link AnnotationModel}, is based on annotations that are added to entity classes and their key fields. Annotations are used in the examples in this package, and it is expected that annotations will normally be used; most readers should therefore skip to the {@link AnnotationModel} class. However, a custom entity model classmay define its own metadata. This can be used to define entity classes and keys using mechanisms other than annotations.
A concrete entity model class should extend this class and implement the {@link #getClassMetadata}, {@link #getEntityMetadata} and {@link #getKnownClasses} methods.
This is an abstract class rather than an interface to allow adding capabilities to the model at a future date without causing incompatibilities. For example, a method may be added in the future for returning new information about the model and subclasses may override this method to return the new information. Any new methods will have default implementations that return default values, and the use of the new information will be optional.
@author Mark HayesSo that the model is {@link Serializable}, the {@link ObjectAdapter} isstored as a {@link ObjectAdapterMemento}.
|
|
|
|