Class ClassMetadata

java.lang.Object
com.sleepycat.persist.model.ClassMetadata
All Implemented Interfaces:
Serializable

public class ClassMetadata extends Object implements Serializable
The metadata for a persistent class. A persistent class may be specified with the Entity or Persistent annotation.

ClassMetadata objects are thread-safe. Multiple threads may safely call the methods of a shared ClassMetadata object.

This and other metadata classes are classes rather than interfaces to allow adding properties to the model at a future date without causing incompatibilities. Any such property will be given a default value and its use will be optional.

See Also:
  • Constructor Details

  • Method Details

    • getClassName

      public String getClassName()
      Returns the name of the persistent class.
    • getVersion

      public int getVersion()
      Returns the version of this persistent class. This may be specified using the Entity.version() or Persistent.version() annotation.
    • getProxiedClassName

      public String getProxiedClassName()
      Returns the class name of the proxied class if this class is a PersistentProxy, or null otherwise.
    • isEntityClass

      public boolean isEntityClass()
      Returns whether this class is an entity class.
    • getPrimaryKey

      public PrimaryKeyMetadata getPrimaryKey()
      Returns the primary key metadata for a key declared in this class, or null if none is declared. This may be specified using the PrimaryKey annotation.
    • getSecondaryKeys

      public Map<String,SecondaryKeyMetadata> getSecondaryKeys()
      Returns an unmodifiable map of key name (which may be different from field name) to secondary key metadata for all secondary keys declared in this class, or null if no secondary keys are declared in this class. This metadata may be specified using SecondaryKey annotations.
    • getCompositeKeyFields

      public List<FieldMetadata> getCompositeKeyFields()
      Returns an unmodifiable list of metadata for the fields making up a composite key, or null if this is a not a composite key class. The order of the fields in the returned list determines their stored order and may be specified using the KeyField annotation. When the composite key class does not implement Comparable, the order of the fields is the relative sort order.
    • getPersistentFields

      public Collection<FieldMetadata> getPersistentFields()
      Returns an unmodifiable list of metadata for the persistent fields in this class, or null if the default rules for persistent fields should be used. All fields returned must be declared in this class and must be non-static.

      By default (if null is returned) the persistent fields of a class will be all declared instance fields that are non-transient (are not declared with the transient keyword). The default rules may be overridden by an EntityModel. For example, the AnnotationModel overrides the default rules when the NotPersistent or NotTransient annotation is specified.

    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object