public class ClassMetadata
extends java.lang.Object
implements java.io.Serializable
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.
Constructor and Description |
---|
ClassMetadata(java.lang.String className,
int version,
java.lang.String proxiedClassName,
boolean entityClass,
PrimaryKeyMetadata primaryKey,
java.util.Map<java.lang.String,SecondaryKeyMetadata> secondaryKeys,
java.util.List<FieldMetadata> compositeKeyFields)
Used by an
EntityModel to construct persistent class metadata. |
ClassMetadata(java.lang.String className,
int version,
java.lang.String proxiedClassName,
boolean entityClass,
PrimaryKeyMetadata primaryKey,
java.util.Map<java.lang.String,SecondaryKeyMetadata> secondaryKeys,
java.util.List<FieldMetadata> compositeKeyFields,
java.util.Collection<FieldMetadata> persistentFields)
Used by an
EntityModel to construct persistent class metadata. |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object other) |
java.lang.String |
getClassName()
Returns the name of the persistent class.
|
java.util.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.
|
java.util.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.
|
PrimaryKeyMetadata |
getPrimaryKey()
Returns the primary key metadata for a key declared in this class, or
null if none is declared.
|
java.lang.String |
getProxiedClassName()
Returns the class name of the proxied class if this class is a
PersistentProxy , or null otherwise. |
java.util.Map<java.lang.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.
|
int |
getVersion()
Returns the version of this persistent class.
|
int |
hashCode() |
boolean |
isEntityClass()
Returns whether this class is an entity class.
|
public ClassMetadata(java.lang.String className, int version, java.lang.String proxiedClassName, boolean entityClass, PrimaryKeyMetadata primaryKey, java.util.Map<java.lang.String,SecondaryKeyMetadata> secondaryKeys, java.util.List<FieldMetadata> compositeKeyFields)
EntityModel
to construct persistent class metadata.
The optional getPersistentFields()
property will be set to null.className
- the class name.version
- the version.proxiedClassName
- the proxied class name.entityClass
- whether the class is an entity class.primaryKey
- the primary key metadata.secondaryKeys
- the secondary key metadata.compositeKeyFields
- the composite key field metadata.public ClassMetadata(java.lang.String className, int version, java.lang.String proxiedClassName, boolean entityClass, PrimaryKeyMetadata primaryKey, java.util.Map<java.lang.String,SecondaryKeyMetadata> secondaryKeys, java.util.List<FieldMetadata> compositeKeyFields, java.util.Collection<FieldMetadata> persistentFields)
EntityModel
to construct persistent class metadata.className
- the class name.version
- the version.proxiedClassName
- the proxied class name.entityClass
- whether the class is an entity class.primaryKey
- the primary key metadata.secondaryKeys
- the secondary key metadata.compositeKeyFields
- the composite key field metadata.persistentFields
- the persistent field metadata.public java.lang.String getClassName()
public int getVersion()
Entity.version()
or Persistent.version()
annotation.public java.lang.String getProxiedClassName()
PersistentProxy
, or null otherwise.public boolean isEntityClass()
public PrimaryKeyMetadata getPrimaryKey()
PrimaryKey
annotation.public java.util.Map<java.lang.String,SecondaryKeyMetadata> getSecondaryKeys()
SecondaryKey
annotations.public java.util.List<FieldMetadata> getCompositeKeyFields()
KeyField
annotation. When the
composite key class does not implement Comparable
, the order of
the fields is the relative sort order.public java.util.Collection<FieldMetadata> getPersistentFields()
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.
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
Copyright (c) 2002, 2017 Oracle and/or its affiliates. All rights reserved.