org.apache.openjpa.meta
Class FieldMetaData

java.lang.Object
  extended by org.apache.openjpa.meta.Extensions
      extended by org.apache.openjpa.meta.FieldMetaData
All Implemented Interfaces:
Serializable, Commentable, MetaDataContext, MetaDataModes, ValueMetaData
Direct Known Subclasses:
FieldMapping

public class FieldMetaData
extends Extensions
implements ValueMetaData, MetaDataContext, MetaDataModes, Commentable

Metadata for a managed class field.

Author:
Abe White
See Also:
Serialized Form

Nested Class Summary
static class FieldMetaData.MemberProvider
          Serializable wrapper around a Method or Field.
 
Field Summary
static int MANAGE_NONE
          Constant specifying the management level of a field.
static int MANAGE_PERSISTENT
          Constant specifying the management level of a field.
static int MANAGE_TRANSACTIONAL
          Constant specifying the management level of a field.
static int MANY_TO_MANY
           
static int MANY_TO_ONE
           
static int NULL_DEFAULT
          Constant specifying to use a datastore default value to persist null values in object fields.
static int NULL_EXCEPTION
          Constant specifying to throw an exception when attempting to persist null values in object fields.
static int NULL_NONE
          Constant specifying to use a datastore null to persist null values in object fields.
static int NULL_UNSET
          Constant specifying that no null-value was given.
static int ONE_TO_MANY
           
static int ONE_TO_ONE
           
 
Fields inherited from class org.apache.openjpa.meta.Extensions
OPENJPA
 
Fields inherited from interface org.apache.openjpa.meta.ValueMetaData
CASCADE_AUTO, CASCADE_IMMEDIATE, CASCADE_NONE, MAPPED_BY_PK
 
Fields inherited from interface org.apache.openjpa.meta.MetaDataModes
MODE_ALL, MODE_ANN_MAPPING, MODE_MAPPING, MODE_MAPPING_INIT, MODE_META, MODE_NONE, MODE_QUERY
 
Fields inherited from interface org.apache.openjpa.lib.xml.Commentable
EMPTY_COMMENTS
 
Constructor Summary
protected FieldMetaData(String name, Class<?> type, ClassMetaData owner)
          Constructor.
 
Method Summary
 ClassMetaData addEmbeddedMetaData()
          Add embedded metadata for this value.
 ClassMetaData addEmbeddedMetaData(int access)
          Add embedded metadata for this value with the given access type
protected  void addExtensionKeys(Collection exts)
          Add all the known extension keys to the specified collection; any implementation that utilized new extensions should override this method to include both the known extensions of its superclass as well as its own extension keys.
 void backingMember(Member member)
          Supply the backing member object; this allows us to utilize parameterized type information if available.
 int compareTo(Object other)
           
 void copy(FieldMetaData field)
          Copy state from the given field to this one.
 void copy(ValueMetaData vmd)
          Copy state from the given value to this one.
 boolean equals(Object other)
           
 int getAccessType()
          Gets the access type used by this field.
 int getAssociationType()
           
 Member getBackingMember()
          Return the backing member supplied in backingMember(java.lang.reflect.Member).
 int getCascadeAttach()
          Cascade behavior for attach operation.
 int getCascadeDelete()
          Cascade behavior for delete operation.
 int getCascadeDetach()
          Cascade behavior for detach operation.
 int getCascadePersist()
          Cascade behavior for persist operation.
 int getCascadeRefresh()
          Cascade behavior for refresh operation.
 String[] getComments()
          Return comments, or empty array if none.
 String[] getCustomFetchGroups()
          Gets the name of the custom fetch groups those are associated to this receiver.
 int getDeclaredIndex()
          The relative index of this persistent/transactional field.
 Class getDeclaredType()
          Return the declared class of the value.
 int getDeclaredTypeCode()
          Return the declared type code of the value.
 ClassMetaData getDeclaredTypeMetaData()
          Return metadata for the value's class, if the type is persistent.
 ClassMetaData getDeclaringMetaData()
          The declaring class.
 Class<?> getDeclaringType()
          The declaring class.
 ClassMetaData getDefiningMetaData()
          The class that defines the metadata for this field.
 ValueMetaData getElement()
          Metadata about the element value.
 ClassMetaData getEmbeddedMetaData()
          The embedded class metadata for the value.
 String getExternalizer()
          The name of this field's externalizer, or null if none.
 Method getExternalizerMethod()
          The externalizer method.
 Object getExternalValue(Object val, StoreContext ctx)
          Convert the given field value to its external value through the provided externalizer, or return the value as-is if no externalizer.
 Map getExternalValueMap()
          Return the mapping of field values to external values.
 String getExternalValues()
          Properties string mapping field values to external values.
 String getFactory()
          The name of this field's factory, or null if none.
 Member getFactoryMethod()
          The factory method or constructor.
 FieldMetaData getFieldMetaData()
          Return the owning field for this value.
 Object getFieldValue(Object val, StoreContext ctx)
          Return the result of passing the given external value through the factory to get the field value.
 Map getFieldValueMap()
          Return the mapping of external values to field values.
 String getFullName()
          Deprecated. Use getFullName(boolean) instead.
 String getFullName(boolean embedOwner)
          The field name, qualified by the owning class and optionally the embedding owner's name (if any).
 int getIndex()
          The absolute index of this persistent/transactional field.
 Object getInitializer()
          The initializer used by the field, or null if none.
 String getInverse()
          Logical inverse field.
 FieldMetaData[] getInverseMetaDatas()
          Return all inverses of this field.
 ValueMetaData getKey()
          Metadata about the key value.
 int getListingIndex()
          The index in which this field was listed in the metadata.
 String getLoadFetchGroup()
          The fetch group that is to be loaded when this receiver is loaded, or null if none set.
 int getManagement()
          Return the management level for the field.
 String getMappedBy()
          The field that this field shares a mapping with.
 FieldMetaData getMappedByField(ClassMetaData meta, String mappedBy)
           
 String getMappedByIdValue()
           
 FieldMetaData getMappedByMetaData()
          The field that this field shares a mapping with.
 String getName()
          The field name.
 int getNullValue()
          How the data store should treat null values for this field: NULL_UNSET: no value supplied NULL_NONE: leave null values as null in the data store NULL_EXCEPTION: throw an exception if this field is null at commit NULL_DEFAULT: use the database default if this field is null at commit Defaults to NULL_UNSET.
 Class<?> getObjectIdFieldType()
          For a primary key field, return the type of the corresponding object id class field.
 int getObjectIdFieldTypeCode()
          For a primary key field, return the type of the corresponding object id class field.
 String getOrderDeclaration()
          String declaring the orderings for this field to be applied on load, or null.
 Order[] getOrders()
          The orderings for this field to be applied on load, or empty array.
 int getPrimaryKeyIndex()
          The absolute primary key index for this field, or -1 if not a primary key.
 Class<?> getProxyType()
          The type this field was initialized with, and therefore the type to use for proxies when loading data into this field.
 String getRealName()
          The field name, qualified by the defining class.
 Class<?> getRelationType()
           
 MetaDataRepository getRepository()
          The metadata repository.
 int getResolve()
          Resolve mode for this field.
 Class getType()
          The value class.
 int getTypeCode()
          The type code of the value class.
 ClassMetaData getTypeMetaData()
          The metadata for the value class, if the type is persistent.
 Class<?> getTypeOverride()
          User-supplied type overriding assumed type based on field.
 int getUpdateStrategy()
          The strategy to use when updating the field.
 ValueMetaData getValue()
          MetaData about the field value.
 String getValueMappedBy()
          The field that this value shares a mapping with.
 FieldMetaData getValueMappedByMetaData()
          The field that this value shares a mapping with.
 SequenceMetaData getValueSequenceMetaData()
          Metadata for the value sequence.
 String getValueSequenceName()
          The value sequence name, or null for none.
 int getValueStrategy()
          The strategy to use for insert value generation.
 int hashCode()
           
 boolean isDeclaredTypePC()
          Whether the type is a persistence capable instance.
 boolean isDefaultFetchGroupExplicit()
          Whether the default fetch group setting is explicit.
 boolean isDelayCapable()
           
 boolean isElementCollection()
           
 boolean isEmbedded()
          This attribute is a hint to the implementation to store this value in the same structure as the class, rather than as a separate datastore structure.
 boolean isEmbeddedPC()
          Whether this is an embedded persistence capable value.
 boolean isExplicit()
          Whether this field is explicitly declared in the metadata.
 boolean isExternalized()
          Whether the field is externalized.
 boolean isInDefaultFetchGroup()
          Whether this field is in the default fetch group.
 boolean isInFetchGroup(String fg)
          Whether this field is in the given fetch group.
 boolean isLRS()
          Whether this field is backed by a large result set.
 boolean isMapped()
          Return whether this field is mapped to the datastore.
 boolean isMappedById()
           
 boolean isPersistentCollection()
           
 boolean isPrimaryKey()
          Whether this is a primary key field.
 boolean isSerialized()
          Whether this value is serialized when stored.
 boolean isStream()
          Whether this field is backed by a stream.
 boolean isTransient()
          Return whether this is a transient field.
 boolean isTypePC()
          Whether the type is a persistence capable instance.
 boolean isUsedInOrderBy()
          Check if this field is used by other field as "order by" value.
 boolean isValueGenerated()
           
 boolean isVersion()
          Whether this field holds optimistic version information.
 Object order(Object val)
          Order this field value when it is loaded.
 boolean resolve(int mode)
          Resolve and validate metadata.
 void setAccessType(int fCode)
          Sets access type of this field.
 void setAssociationType(int type)
           
 void setCascadeAttach(int attach)
          Cascade behavior for attach operation.
 void setCascadeDelete(int delete)
          Cascade behavior for deletion.
 void setCascadeDetach(int detach)
          Cascade behavior for detach operation.
 void setCascadePersist(int persist)
          Cascade behavior for persist operation.
 void setCascadeRefresh(int refresh)
          Cascade behavior for refresh operation.
 void setComments(String[] comments)
          Set comments.
 void setDeclaredIndex(int index)
          The relative index of this persistent/transactional field.
 void setDeclaredType(Class type)
          Set the declared class of the value.
 void setDeclaredTypeCode(int type)
          Set the type code for the value.
 void setDeclaringType(Class<?> cls)
          The declaring class.
 void setDefaultFetchGroupExplicit(boolean explicit)
          Whether the default fetch group setting is explicit.
 void setDelayCapable(Boolean delayCapable)
           
 void setElementCollection(boolean isElementCollection)
           
 void setEmbedded(boolean embedded)
          This attribute is a hint to the implementation to store this value in the same structure as the class, rather than as a separate datastore structure.
 void setExplicit(boolean explicit)
          Whether this field is explicitly declared in the metadata.
 void setExternalizer(String externalizer)
          The name of this field's externalizer, or null if none.
 void setExternalValues(String values)
          Properties string mapping field values to external values.
 void setFactory(String factory)
          The name of this field's factory, or null if none.
 void setInDefaultFetchGroup(boolean dfg)
          Whether this field is in the default fetch group.
 void setIndex(int index)
          The absolute index of this persistent/transactional field.
 void setInFetchGroup(String fg, boolean in)
          Set whether this field is in the given fetch group.
 void setInitializer(Object initializer)
          The initializer used by the field, or null if none.
 void setInverse(String inverse)
          Logical inverse field.
 void setListingIndex(int index)
          The index in which this field was listed in the metadata.
 void setLoadFetchGroup(String lfg)
          The fetch group that is to be loaded when this receiver is loaded, or null if none set.
 void setLRS(boolean lrs)
          Whether this field is backed by a large result set.
 void setManagement(int manage)
          Return the management level for the field.
 void setMappedBy(String mapped)
          The field that this field shares a mapping with.
 void setMappedByIdValue(String mappedByIdValue)
           
 void setNullValue(int nullValue)
          How the data store should treat null values for this field: NULL_UNSET: no value supplied NULL_NONE: leave null values as null in the data store NULL_EXCEPTION: throw an exception if this field is null at commit NULL_DEFAULT: use the database default if this field is null at commit Defaults to NULL_UNSET.
 void setOrderDeclaration(String dec)
          String declaring the orderings for this field to be applied on load, or null.
 void setOrders(Order[] orders)
          The orderings for this field to be applied on load.
 void setPersistentCollection(boolean persistentCollection)
           
 void setPrimaryKey(boolean primKey)
          Whether this is a primary key field.
 void setPrimaryKeyIndex(int index)
          The absolute primary key index for this field, or -1 if not a primary key.
 void setProxyType(Class<?> type)
          The type this field was initialized with, and therefore the type to use for proxies when loading data into this field.
 void setResolve(int mode)
          Resolve mode for this field.
 void setResolve(int mode, boolean on)
          Resolve mode for this field.
 void setSerialized(boolean serialized)
          Whether this value is serialized when stored.
 void setStream(boolean stream)
          Whether this field is backed by a stream.
 void setTransient(boolean trans)
          Return whether this is a transient field.
 void setType(Class type)
          The value class.
 void setTypeCode(int code)
          The type code of the value class.
 void setTypeOverride(Class type)
          User-supplied type overriding assumed type based on field.
 void setUpdateStrategy(int strategy)
          Set the update strategy.
 void setUsedInOrderBy(boolean isUsed)
          Whether this field is used by other field as "order by" value .
 void setUsesImplData(Boolean implData)
          Whether this field uses impl data in conjunction with standard field data when acting on a OpenJPAStateManager.
 void setUsesIntermediate(boolean intermediate)
          Whether this field uses intermediate data when loading/storing information through a OpenJPAStateManager.
 void setValueGenerated(boolean generated)
           
 void setValueMappedBy(String mapped)
          The field that this value shares a mapping with.
 void setValueSequenceName(String seqName)
          The value sequence name, or null for none.
 void setValueStrategy(int strategy)
          The strategy to use for insert value generation.
 void setVersion(boolean version)
          Whether this field holds optimistic version information.
 String toString()
           
 Boolean usesImplData()
          Whether this field uses impl data in conjunction with standard field data when acting on a OpenJPAStateManager.
 boolean usesIntermediate()
          Whether this field uses intermediate data when loading/storing information through a OpenJPAStateManager.
 
Methods inherited from class org.apache.openjpa.meta.Extensions
addExtension, addExtension, copy, getBooleanExtension, getBooleanExtension, getDoubleExtension, getDoubleExtension, getEmbeddedExtensions, getEmbeddedExtensions, getExtensionKeys, getExtensionKeys, getExtensionVendors, getIntExtension, getIntExtension, getObjectExtension, getObjectExtension, getStringExtension, getStringExtension, hasExtension, hasExtension, isEmpty, removeEmbeddedExtensions, removeEmbeddedExtensions, removeExtension, removeExtension, validateDataStoreExtensionPrefix, validateExtensionKeys
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

NULL_UNSET

public static final int NULL_UNSET
Constant specifying that no null-value was given.

See Also:
Constant Field Values

NULL_NONE

public static final int NULL_NONE
Constant specifying to use a datastore null to persist null values in object fields.

See Also:
Constant Field Values

NULL_DEFAULT

public static final int NULL_DEFAULT
Constant specifying to use a datastore default value to persist null values in object fields.

See Also:
Constant Field Values

NULL_EXCEPTION

public static final int NULL_EXCEPTION
Constant specifying to throw an exception when attempting to persist null values in object fields.

See Also:
Constant Field Values

MANAGE_PERSISTENT

public static final int MANAGE_PERSISTENT
Constant specifying the management level of a field.

See Also:
Constant Field Values

MANAGE_TRANSACTIONAL

public static final int MANAGE_TRANSACTIONAL
Constant specifying the management level of a field.

See Also:
Constant Field Values

MANAGE_NONE

public static final int MANAGE_NONE
Constant specifying the management level of a field.

See Also:
Constant Field Values

ONE_TO_ONE

public static final int ONE_TO_ONE
See Also:
Constant Field Values

ONE_TO_MANY

public static final int ONE_TO_MANY
See Also:
Constant Field Values

MANY_TO_ONE

public static final int MANY_TO_ONE
See Also:
Constant Field Values

MANY_TO_MANY

public static final int MANY_TO_MANY
See Also:
Constant Field Values
Constructor Detail

FieldMetaData

protected FieldMetaData(String name,
                        Class<?> type,
                        ClassMetaData owner)
Constructor.

Parameters:
name - the field name
type - the field type
owner - the owning class metadata
Method Detail

backingMember

public void backingMember(Member member)
Supply the backing member object; this allows us to utilize parameterized type information if available. Sets the access style of this receiver based on whether the given member represents a field or getter method.


getBackingMember

public Member getBackingMember()
Return the backing member supplied in backingMember(java.lang.reflect.Member).


getRepository

public MetaDataRepository getRepository()
The metadata repository.

Specified by:
getRepository in interface MetaDataContext
Specified by:
getRepository in class Extensions

getDefiningMetaData

public ClassMetaData getDefiningMetaData()
The class that defines the metadata for this field.


getDeclaringType

public Class<?> getDeclaringType()
The declaring class.


setDeclaringType

public void setDeclaringType(Class<?> cls)
The declaring class.


getDeclaringMetaData

public ClassMetaData getDeclaringMetaData()
The declaring class.


getName

public String getName()
The field name.


getFullName

public String getFullName()
Deprecated. Use getFullName(boolean) instead.

The field name, qualified by the owning class.


getFullName

public String getFullName(boolean embedOwner)
The field name, qualified by the owning class and optionally the embedding owner's name (if any).


getRealName

public String getRealName()
The field name, qualified by the defining class.


getValue

public ValueMetaData getValue()
MetaData about the field value.


getKey

public ValueMetaData getKey()
Metadata about the key value.


getElement

public ValueMetaData getElement()
Metadata about the element value.


isMapped

public boolean isMapped()
Return whether this field is mapped to the datastore. By default, returns true for all persistent fields whose defining class is mapped.


getProxyType

public Class<?> getProxyType()
The type this field was initialized with, and therefore the type to use for proxies when loading data into this field.


setProxyType

public void setProxyType(Class<?> type)
The type this field was initialized with, and therefore the type to use for proxies when loading data into this field.


getInitializer

public Object getInitializer()
The initializer used by the field, or null if none. This is additional information for initializing the field, such as a custom Comparator used by a Set or a TimeZone used by a Calendar.


setInitializer

public void setInitializer(Object initializer)
The initializer used by the field, or null if none. This is additional information for initializing the field, such as a custom Comparator used by a Set or a TimeZone used by a Calendar.


isTransient

public boolean isTransient()
Return whether this is a transient field.


setTransient

public void setTransient(boolean trans)
Return whether this is a transient field.


getIndex

public int getIndex()
The absolute index of this persistent/transactional field.


setIndex

public void setIndex(int index)
The absolute index of this persistent/transactional field.


getDeclaredIndex

public int getDeclaredIndex()
The relative index of this persistent/transactional field.


setDeclaredIndex

public void setDeclaredIndex(int index)
The relative index of this persistent/transactional field.


getListingIndex

public int getListingIndex()
The index in which this field was listed in the metadata. Defaults to -1 if this field was not listed in the metadata.


setListingIndex

public void setListingIndex(int index)
The index in which this field was listed in the metadata. Defaults to -1 if this field was not listed in the metadata.


getPrimaryKeyIndex

public int getPrimaryKeyIndex()
The absolute primary key index for this field, or -1 if not a primary key. The first primary key field has index 0, the second index 1, etc.


setPrimaryKeyIndex

public void setPrimaryKeyIndex(int index)
The absolute primary key index for this field, or -1 if not a primary key. The first primary key field has index 0, the second index 1, etc.


getManagement

public int getManagement()
Return the management level for the field. Will be one of: Defaults to MANAGE_PERSISTENT.


setManagement

public void setManagement(int manage)
Return the management level for the field. Will be one of: Defaults to MANAGE_PERSISTENT.


isPrimaryKey

public boolean isPrimaryKey()
Whether this is a primary key field.


setPrimaryKey

public void setPrimaryKey(boolean primKey)
Whether this is a primary key field.


getObjectIdFieldTypeCode

public int getObjectIdFieldTypeCode()
For a primary key field, return the type of the corresponding object id class field.


getObjectIdFieldType

public Class<?> getObjectIdFieldType()
For a primary key field, return the type of the corresponding object id class field.


isVersion

public boolean isVersion()
Whether this field holds optimistic version information.


setVersion

public void setVersion(boolean version)
Whether this field holds optimistic version information.


isInDefaultFetchGroup

public boolean isInDefaultFetchGroup()
Whether this field is in the default fetch group.


setInDefaultFetchGroup

public void setInDefaultFetchGroup(boolean dfg)
Whether this field is in the default fetch group.


isDefaultFetchGroupExplicit

public boolean isDefaultFetchGroupExplicit()
Whether the default fetch group setting is explicit.


setDefaultFetchGroupExplicit

public void setDefaultFetchGroupExplicit(boolean explicit)
Whether the default fetch group setting is explicit. Allow setting for testing.


getCustomFetchGroups

public String[] getCustomFetchGroups()
Gets the name of the custom fetch groups those are associated to this receiver. This does not include the "default" and "all" fetch groups.

Returns:
the set of fetch group names, not including the default and all fetch groups.

getLoadFetchGroup

public String getLoadFetchGroup()
The fetch group that is to be loaded when this receiver is loaded, or null if none set.


setLoadFetchGroup

public void setLoadFetchGroup(String lfg)
The fetch group that is to be loaded when this receiver is loaded, or null if none set.


isInFetchGroup

public boolean isInFetchGroup(String fg)
Whether this field is in the given fetch group.


setInFetchGroup

public void setInFetchGroup(String fg,
                            boolean in)
Set whether this field is in the given fetch group.

Parameters:
fg - is the name of a fetch group that must be present in the class that declared this field or any of its persistent superclasses.

getNullValue

public int getNullValue()
How the data store should treat null values for this field: Defaults to NULL_UNSET.


setNullValue

public void setNullValue(int nullValue)
How the data store should treat null values for this field: Defaults to NULL_UNSET.


isExplicit

public boolean isExplicit()
Whether this field is explicitly declared in the metadata.


setExplicit

public void setExplicit(boolean explicit)
Whether this field is explicitly declared in the metadata.


getMappedBy

public String getMappedBy()
The field that this field shares a mapping with.


setMappedBy

public void setMappedBy(String mapped)
The field that this field shares a mapping with.


getMappedByMetaData

public FieldMetaData getMappedByMetaData()
The field that this field shares a mapping with.


getMappedByField

public FieldMetaData getMappedByField(ClassMetaData meta,
                                      String mappedBy)

getInverse

public String getInverse()
Logical inverse field.


setInverse

public void setInverse(String inverse)
Logical inverse field.


getInverseMetaDatas

public FieldMetaData[] getInverseMetaDatas()
Return all inverses of this field.


getValueStrategy

public int getValueStrategy()
The strategy to use for insert value generation. One of the constants from ValueStrategies.


setValueStrategy

public void setValueStrategy(int strategy)
The strategy to use for insert value generation. One of the constants from ValueStrategies.


getValueSequenceName

public String getValueSequenceName()
The value sequence name, or null for none.


setValueSequenceName

public void setValueSequenceName(String seqName)
The value sequence name, or null for none.


getValueSequenceMetaData

public SequenceMetaData getValueSequenceMetaData()
Metadata for the value sequence.


getUpdateStrategy

public int getUpdateStrategy()
The strategy to use when updating the field.


setUpdateStrategy

public void setUpdateStrategy(int strategy)
Set the update strategy.


isLRS

public boolean isLRS()
Whether this field is backed by a large result set.


setLRS

public void setLRS(boolean lrs)
Whether this field is backed by a large result set.


isStream

public boolean isStream()
Whether this field is backed by a stream.

Since:
1.1.0

setStream

public void setStream(boolean stream)
Whether this field is backed by a stream.

Since:
1.1.0

usesIntermediate

public boolean usesIntermediate()
Whether this field uses intermediate data when loading/storing information through a OpenJPAStateManager. Defaults to true.

See Also:
OpenJPAStateManager.setIntermediate(int,Object)

setUsesIntermediate

public void setUsesIntermediate(boolean intermediate)
Whether this field uses intermediate data when loading/storing information through a OpenJPAStateManager. Defaults to true.

See Also:
OpenJPAStateManager.setIntermediate(int,Object)

usesImplData

public Boolean usesImplData()
Whether this field uses impl data in conjunction with standard field data when acting on a OpenJPAStateManager. Defaults to Boolean.TRUE (non-cachable impl data).

Returns:
Boolean.FALSE if this field does not use impl data, Boolean.TRUE if this field uses non-cachable impl data, or null if this field uses impl data that should be cached across instances
See Also:
OpenJPAStateManager.setImplData(int,Object)

setUsesImplData

public void setUsesImplData(Boolean implData)
Whether this field uses impl data in conjunction with standard field data when acting on a OpenJPAStateManager.

See Also:
OpenJPAStateManager.setImplData(int,Object), usesImplData()

getOrders

public Order[] getOrders()
The orderings for this field to be applied on load, or empty array.


setOrders

public void setOrders(Order[] orders)
The orderings for this field to be applied on load.


getOrderDeclaration

public String getOrderDeclaration()
String declaring the orderings for this field to be applied on load, or null. The string is of the form:
orderable[ asc|desc][, ...]
The orderable #element is used to denote the value of the field's elements.


setOrderDeclaration

public void setOrderDeclaration(String dec)
String declaring the orderings for this field to be applied on load, or null. The string is of the form:
orderable[ asc|desc][, ...]
The orderable #element is used to denote the value of the field's elements.


order

public Object order(Object val)
Order this field value when it is loaded.


isExternalized

public boolean isExternalized()
Whether the field is externalized.


getExternalValue

public Object getExternalValue(Object val,
                               StoreContext ctx)
Convert the given field value to its external value through the provided externalizer, or return the value as-is if no externalizer.


getFieldValue

public Object getFieldValue(Object val,
                            StoreContext ctx)
Return the result of passing the given external value through the factory to get the field value. If no factory is present, the given value is returned as-is.


getExternalizer

public String getExternalizer()
The name of this field's externalizer, or null if none.


setExternalizer

public void setExternalizer(String externalizer)
The name of this field's externalizer, or null if none.


getFactory

public String getFactory()
The name of this field's factory, or null if none.


setFactory

public void setFactory(String factory)
The name of this field's factory, or null if none.


getExternalValues

public String getExternalValues()
Properties string mapping field values to external values.


setExternalValues

public void setExternalValues(String values)
Properties string mapping field values to external values.


getExternalValueMap

public Map getExternalValueMap()
Return the mapping of field values to external values.


getFieldValueMap

public Map getFieldValueMap()
Return the mapping of external values to field values.


getExternalizerMethod

public Method getExternalizerMethod()
The externalizer method.


getFactoryMethod

public Member getFactoryMethod()
The factory method or constructor.


equals

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

hashCode

public int hashCode()
Overrides:
hashCode in class Object

compareTo

public int compareTo(Object other)

toString

public String toString()
Overrides:
toString in class Object

getResolve

public int getResolve()
Resolve mode for this field.

Specified by:
getResolve in interface ValueMetaData

setResolve

public void setResolve(int mode)
Resolve mode for this field.

Specified by:
setResolve in interface ValueMetaData

setResolve

public void setResolve(int mode,
                       boolean on)
Resolve mode for this field.

Specified by:
setResolve in interface ValueMetaData

resolve

public boolean resolve(int mode)
Resolve and validate metadata. Return true if already resolved.

Specified by:
resolve in interface ValueMetaData

copy

public void copy(FieldMetaData field)
Copy state from the given field to this one. Do not copy mapping information.


addExtensionKeys

protected void addExtensionKeys(Collection exts)
Description copied from class: Extensions
Add all the known extension keys to the specified collection; any implementation that utilized new extensions should override this method to include both the known extensions of its superclass as well as its own extension keys.

Overrides:
addExtensionKeys in class Extensions

getComments

public String[] getComments()
Description copied from interface: Commentable
Return comments, or empty array if none.

Specified by:
getComments in interface Commentable

setComments

public void setComments(String[] comments)
Description copied from interface: Commentable
Set comments.

Specified by:
setComments in interface Commentable

getFieldMetaData

public FieldMetaData getFieldMetaData()
Description copied from interface: ValueMetaData
Return the owning field for this value.

Specified by:
getFieldMetaData in interface ValueMetaData

getType

public Class getType()
Description copied from interface: ValueMetaData
The value class.

Specified by:
getType in interface ValueMetaData

setType

public void setType(Class type)
Description copied from interface: ValueMetaData
The value class.

Specified by:
setType in interface ValueMetaData

getTypeCode

public int getTypeCode()
Description copied from interface: ValueMetaData
The type code of the value class.

Specified by:
getTypeCode in interface ValueMetaData

setTypeCode

public void setTypeCode(int code)
Description copied from interface: ValueMetaData
The type code of the value class.

Specified by:
setTypeCode in interface ValueMetaData

isTypePC

public boolean isTypePC()
Description copied from interface: ValueMetaData
Whether the type is a persistence capable instance.

Specified by:
isTypePC in interface ValueMetaData

getTypeMetaData

public ClassMetaData getTypeMetaData()
Description copied from interface: ValueMetaData
The metadata for the value class, if the type is persistent.

Specified by:
getTypeMetaData in interface ValueMetaData

getDeclaredType

public Class getDeclaredType()
Description copied from interface: ValueMetaData
Return the declared class of the value. This can differ from the return value of ValueMetaData.getType() if the user indicates a different type or the value has an externalizer.

Specified by:
getDeclaredType in interface ValueMetaData

setDeclaredType

public void setDeclaredType(Class type)
Description copied from interface: ValueMetaData
Set the declared class of the value.

Specified by:
setDeclaredType in interface ValueMetaData

getDeclaredTypeCode

public int getDeclaredTypeCode()
Description copied from interface: ValueMetaData
Return the declared type code of the value. This can differ from the return value of ValueMetaData.getTypeCode() if the user indicates a different type or the value has an externalizer.

Specified by:
getDeclaredTypeCode in interface ValueMetaData

setDeclaredTypeCode

public void setDeclaredTypeCode(int type)
Description copied from interface: ValueMetaData
Set the type code for the value. The type code is usually computed automatically, but it can be useful to set it explicitly when creating metadatas from scratch.

Specified by:
setDeclaredTypeCode in interface ValueMetaData

isDeclaredTypePC

public boolean isDeclaredTypePC()
Description copied from interface: ValueMetaData
Whether the type is a persistence capable instance.

Specified by:
isDeclaredTypePC in interface ValueMetaData

getDeclaredTypeMetaData

public ClassMetaData getDeclaredTypeMetaData()
Description copied from interface: ValueMetaData
Return metadata for the value's class, if the type is persistent.

Specified by:
getDeclaredTypeMetaData in interface ValueMetaData

isEmbedded

public boolean isEmbedded()
Description copied from interface: ValueMetaData
This attribute is a hint to the implementation to store this value in the same structure as the class, rather than as a separate datastore structure. Defaults to true if the field is not a collection or map or persistence-capable object; defaults to false otherwise. Implementations are permitted to ignore this attribute.

Specified by:
isEmbedded in interface ValueMetaData

setEmbedded

public void setEmbedded(boolean embedded)
Description copied from interface: ValueMetaData
This attribute is a hint to the implementation to store this value in the same structure as the class, rather than as a separate datastore structure. Defaults to true if the field is not a collection or map or persistence-capable objects; defaults to false otherwise. Implementations are permitted to ignore this attribute.

Specified by:
setEmbedded in interface ValueMetaData

isEmbeddedPC

public boolean isEmbeddedPC()
Description copied from interface: ValueMetaData
Whether this is an embedded persistence capable value.

Specified by:
isEmbeddedPC in interface ValueMetaData

getEmbeddedMetaData

public ClassMetaData getEmbeddedMetaData()
Description copied from interface: ValueMetaData
The embedded class metadata for the value.

Specified by:
getEmbeddedMetaData in interface ValueMetaData

addEmbeddedMetaData

public ClassMetaData addEmbeddedMetaData(int access)
Description copied from interface: ValueMetaData
Add embedded metadata for this value with the given access type

Specified by:
addEmbeddedMetaData in interface ValueMetaData

addEmbeddedMetaData

public ClassMetaData addEmbeddedMetaData()
Description copied from interface: ValueMetaData
Add embedded metadata for this value.

Specified by:
addEmbeddedMetaData in interface ValueMetaData

getCascadeDelete

public int getCascadeDelete()
Description copied from interface: ValueMetaData
Cascade behavior for delete operation. Only applies to persistence-capable values. Options are:

Specified by:
getCascadeDelete in interface ValueMetaData

setCascadeDelete

public void setCascadeDelete(int delete)
Description copied from interface: ValueMetaData
Cascade behavior for deletion.

Specified by:
setCascadeDelete in interface ValueMetaData
See Also:
ValueMetaData.getCascadeDelete()

getCascadePersist

public int getCascadePersist()
Description copied from interface: ValueMetaData
Cascade behavior for persist operation. Only applies to persistence-capable values. Options are:

Specified by:
getCascadePersist in interface ValueMetaData

setCascadePersist

public void setCascadePersist(int persist)
Description copied from interface: ValueMetaData
Cascade behavior for persist operation.

Specified by:
setCascadePersist in interface ValueMetaData
See Also:
ValueMetaData.getCascadePersist()

getCascadeAttach

public int getCascadeAttach()
Description copied from interface: ValueMetaData
Cascade behavior for attach operation. Only applies to persistence-capable values. Options are:

Specified by:
getCascadeAttach in interface ValueMetaData

setCascadeAttach

public void setCascadeAttach(int attach)
Description copied from interface: ValueMetaData
Cascade behavior for attach operation.

Specified by:
setCascadeAttach in interface ValueMetaData
See Also:
ValueMetaData.getCascadeAttach()

getCascadeDetach

public int getCascadeDetach()
Description copied from interface: ValueMetaData
Cascade behavior for detach operation. Only applies to persistence-capable values. Options are:

Specified by:
getCascadeDetach in interface ValueMetaData

setCascadeDetach

public void setCascadeDetach(int detach)
Description copied from interface: ValueMetaData
Cascade behavior for detach operation.

Specified by:
setCascadeDetach in interface ValueMetaData
See Also:
ValueMetaData.getCascadeDetach()

getCascadeRefresh

public int getCascadeRefresh()
Description copied from interface: ValueMetaData
Cascade behavior for refresh operation. Only applies to persistence-capable values. Options are:

Specified by:
getCascadeRefresh in interface ValueMetaData

setCascadeRefresh

public void setCascadeRefresh(int refresh)
Description copied from interface: ValueMetaData
Cascade behavior for refresh operation.

Specified by:
setCascadeRefresh in interface ValueMetaData
See Also:
ValueMetaData.getCascadeRefresh()

isSerialized

public boolean isSerialized()
Description copied from interface: ValueMetaData
Whether this value is serialized when stored.

Specified by:
isSerialized in interface ValueMetaData

setSerialized

public void setSerialized(boolean serialized)
Description copied from interface: ValueMetaData
Whether this value is serialized when stored.

Specified by:
setSerialized in interface ValueMetaData

getValueMappedBy

public String getValueMappedBy()
Description copied from interface: ValueMetaData
The field that this value shares a mapping with. Currently the only supported use for a mapped-by value is when a map field key is determined by a field of the persistence-capable map value.

Specified by:
getValueMappedBy in interface ValueMetaData

setValueMappedBy

public void setValueMappedBy(String mapped)
Description copied from interface: ValueMetaData
The field that this value shares a mapping with. Currently the only supported use for a mapped-by value is when a map field key is determined by a field of the persistence-capable map value.

Specified by:
setValueMappedBy in interface ValueMetaData

getValueMappedByMetaData

public FieldMetaData getValueMappedByMetaData()
Description copied from interface: ValueMetaData
The field that this value shares a mapping with. Currently the only supported use for a mapped-by value is when a map field key is determined by a field of the persistence-capable map value.

Specified by:
getValueMappedByMetaData in interface ValueMetaData

getTypeOverride

public Class<?> getTypeOverride()
Description copied from interface: ValueMetaData
User-supplied type overriding assumed type based on field.

Specified by:
getTypeOverride in interface ValueMetaData

setTypeOverride

public void setTypeOverride(Class type)
Description copied from interface: ValueMetaData
User-supplied type overriding assumed type based on field.

Specified by:
setTypeOverride in interface ValueMetaData

copy

public void copy(ValueMetaData vmd)
Description copied from interface: ValueMetaData
Copy state from the given value to this one. Do not copy mapping information.

Specified by:
copy in interface ValueMetaData

isUsedInOrderBy

public boolean isUsedInOrderBy()
Check if this field is used by other field as "order by" value.

Since:
1.1.0

setUsedInOrderBy

public void setUsedInOrderBy(boolean isUsed)
Whether this field is used by other field as "order by" value .

Since:
1.1.0

isValueGenerated

public boolean isValueGenerated()

setValueGenerated

public void setValueGenerated(boolean generated)

isElementCollection

public boolean isElementCollection()

setElementCollection

public void setElementCollection(boolean isElementCollection)

getMappedByIdValue

public String getMappedByIdValue()

setMappedByIdValue

public void setMappedByIdValue(String mappedByIdValue)

isMappedById

public boolean isMappedById()

getAccessType

public int getAccessType()
Gets the access type used by this field. If no access type is set for this field then return the access type used by the declaring class.


setAccessType

public void setAccessType(int fCode)
Sets access type of this field. The access code is verified for validity as well as against the access style used by the declaring class.


getAssociationType

public int getAssociationType()

setAssociationType

public void setAssociationType(int type)

isPersistentCollection

public boolean isPersistentCollection()

setPersistentCollection

public void setPersistentCollection(boolean persistentCollection)

getRelationType

public Class<?> getRelationType()

isDelayCapable

public boolean isDelayCapable()

setDelayCapable

public void setDelayCapable(Boolean delayCapable)


Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.