Package org.exolab.castor.persist
Class FieldMolder
- java.lang.Object
-
- org.exolab.castor.persist.FieldMolder
-
public class FieldMolder extends java.lang.ObjectFieldMolder represents a field of a data object class. It is used by ClassMolder to set and get the value from a field of a data object.- Author:
- Thomas Yip
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFieldMolder.CollectionInfo
-
Constructor Summary
Constructors Constructor Description FieldMolder(DatingService datingService, ClassMolder enclosingClassMolder, FieldDescriptor fieldDescriptor)FieldMolder(DatingService ds, ClassMolder eMold, FieldDescriptor fieldDescriptor, SQLRelationLoader loader)Creates a single field descriptor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddValue(java.lang.Object object, java.lang.Object value, java.lang.ClassLoader loader)static java.lang.reflect.MethodfindAccessor(java.lang.Class<?> javaClass, java.lang.String methodName, java.lang.Class<?> fieldType, boolean getMethod)Returns the named accessor.java.util.EnumSet<CascadingType>getCascading()Returns the 'cascading operations' defined for this field.java.lang.Class<?>getCollectionType()protected java.lang.Class<?>getCollectionType(java.lang.String coll, boolean lazy)java.lang.StringgetComparator()Returns the java.util.Comparator instance to be used with SortedSets; null, if not specified.ClassMoldergetEnclosingClassMolder()ClassMoldergetFieldClassMolder()LockEnginegetFieldLockEngine()FieldPersistenceTypegetFieldPertsistenceType()java.lang.StringgetName()SQLRelationLoadergetRelationLoader()java.lang.ObjectgetValue(java.lang.Object object, java.lang.ClassLoader loader)booleanisAddable()booleanisCheckDirty()booleanisDefault(java.lang.Object value)Check if the specified value is the default value of the Field represented by this FieldMolder.booleanisDependent()booleanisLazy()booleanisManyToMany()booleanisMulti()booleanisPersistanceCapable()booleanisReadonly()booleanisSerializable()booleanisStored()booleanisTransient()(package private) voidsetFieldClassMolder(ClassMolder fMold)voidsetValue(java.lang.Object object, java.lang.Object value, java.lang.ClassLoader loader)java.lang.StringtoString()
-
-
-
Constructor Detail
-
FieldMolder
public FieldMolder(DatingService ds, ClassMolder eMold, FieldDescriptor fieldDescriptor, SQLRelationLoader loader) throws MappingException
Creates a single field descriptor. The field mapping is used to create a new stockFieldMolder. Implementations may extend this class to create a more suitable descriptor.- Parameters:
eMold- The ClassMolder to which the field belongsfieldMapping- The field mapping information- Throws:
MappingException- The field or its accessor methods are not found, not accessible, not of the specified type, etc
-
FieldMolder
public FieldMolder(DatingService datingService, ClassMolder enclosingClassMolder, FieldDescriptor fieldDescriptor) throws MappingException
- Throws:
MappingException
-
-
Method Detail
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getName
public java.lang.String getName()
-
getComparator
public java.lang.String getComparator()
Returns the java.util.Comparator instance to be used with SortedSets; null, if not specified.- Returns:
- the java.util.Comparator instance to be used with SortedSets
-
getFieldPertsistenceType
public FieldPersistenceType getFieldPertsistenceType()
-
getRelationLoader
public SQLRelationLoader getRelationLoader()
-
isStored
public boolean isStored()
-
isManyToMany
public boolean isManyToMany()
-
isDependent
public boolean isDependent()
-
isMulti
public boolean isMulti()
-
isPersistanceCapable
public boolean isPersistanceCapable()
-
isSerializable
public boolean isSerializable()
-
isCheckDirty
public boolean isCheckDirty()
-
isLazy
public boolean isLazy()
-
isAddable
public boolean isAddable()
-
isTransient
public boolean isTransient()
-
setFieldClassMolder
void setFieldClassMolder(ClassMolder fMold)
-
getEnclosingClassMolder
public ClassMolder getEnclosingClassMolder()
-
getFieldClassMolder
public ClassMolder getFieldClassMolder()
-
getFieldLockEngine
public LockEngine getFieldLockEngine()
-
isReadonly
public boolean isReadonly()
-
getCollectionType
public java.lang.Class<?> getCollectionType()
-
getCascading
public java.util.EnumSet<CascadingType> getCascading()
Returns the 'cascading operations' defined for this field.- Returns:
- the 'cascading operations' defined.
-
getValue
public java.lang.Object getValue(java.lang.Object object, java.lang.ClassLoader loader)
-
addValue
public void addValue(java.lang.Object object, java.lang.Object value, java.lang.ClassLoader loader)
-
setValue
public void setValue(java.lang.Object object, java.lang.Object value, java.lang.ClassLoader loader)
-
isDefault
public boolean isDefault(java.lang.Object value)
Check if the specified value is the default value of the Field represented by this FieldMolder.
-
getCollectionType
protected java.lang.Class<?> getCollectionType(java.lang.String coll, boolean lazy)
-
findAccessor
public static final java.lang.reflect.Method findAccessor(java.lang.Class<?> javaClass, java.lang.String methodName, java.lang.Class<?> fieldType, boolean getMethod) throws MappingExceptionReturns the named accessor. Uses reflection to return the named accessor and check the return value or parameter type, if specified.- Parameters:
javaClass- The class to which the field belongs.methodName- The name of the accessor method.fieldType- The type of the field if known, or null.getMethod- True if get method, false if set method.- Returns:
- The method, null if not found.
- Throws:
MappingException- The method is not accessible or is not of the specified type.
-
-