Package net.ontopia.persistence.proxy
Class AbstractFieldInfo
- java.lang.Object
-
- net.ontopia.persistence.proxy.AbstractFieldInfo
-
- All Implemented Interfaces:
FieldHandlerIF
,FieldInfoIF
- Direct Known Subclasses:
AggregateFieldInfo
,PrimitiveFieldInfo
,ReferenceFieldInfo
public abstract class AbstractFieldInfo extends Object implements FieldInfoIF
INTERNAL: An abstract field info class containing the common behaviour for FieldInfoIFs.
-
-
Field Summary
Fields Modifier and Type Field Description protected int
cardinality
protected FieldDescriptor
field
protected Method
getter
protected int
index
protected boolean
is_collection
protected String
name
protected ClassInfoIF
parent_cinfo
protected boolean
readonly
protected Method
setter
protected Class<?>
value_class
-
Fields inherited from interface net.ontopia.persistence.proxy.FieldInfoIF
MANY_TO_MANY, ONE_TO_MANY, ONE_TO_ONE
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractFieldInfo(ClassInfoIF parent_cinfo, String name, int index, Class<?> value_class, boolean is_collection, int cardinality, boolean readonly)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getCardinality()
INTERNAL: Gets the field cardinality.FieldDescriptor
getDescriptor()
INTERNAL: Returns the underlying FieldDescriptor instance if one exists.protected Method
getGetterMethod()
int
getIndex()
INTERNAL: Gets the value field index of this field.String[]
getJoinKeys()
INTERNAL: Gets the columns in the join table that contains the keys of the referencing object.String
getJoinTable()
INTERNAL: Gets the name of the table which needs to be joined to order to access the field value from the master table.String[]
getManyKeys()
INTERNAL: Gets the columns in the join table that contains the keys of the referenced object.String
getName()
INTERNAL: Gets the field name.ClassInfoIF
getParentClassInfo()
INTERNAL: Gets the class info for the field's object type.protected Method
getSetterMethod()
String
getTable()
INTERNAL: Gets the table in which the field value is stored (aka the master table).Object
getValue(Object object)
INTERNAL: Gets the field value from the given object.Class<?>
getValueClass()
INTERNAL: Gets the field value class.boolean
isAggregateField()
INTERNAL: Returns true if the field is an aggregate field.boolean
isCollectionField()
INTERNAL: Returns true if the field is a collection field (has a cardinality of 1:1 or 1:M).boolean
isPrimitiveField()
INTERNAL: Returns true if the field is a primitive field.boolean
isReadOnly()
INTERNAL: Returns true if this field is read-only field.boolean
isReferenceField()
INTERNAL: Returns true if the field is a reference field.void
setValue(Object object, Object value)
INTERNAL: Sets the field value for the given object.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.ontopia.persistence.proxy.FieldHandlerIF
bind, getColumnCount, isIdentityField, load, retrieveFieldValues, retrieveSQLValues
-
Methods inherited from interface net.ontopia.persistence.proxy.FieldInfoIF
getValueClassInfo, getValueColumns
-
-
-
-
Field Detail
-
name
protected String name
-
index
protected int index
-
cardinality
protected int cardinality
-
readonly
protected boolean readonly
-
is_collection
protected boolean is_collection
-
parent_cinfo
protected ClassInfoIF parent_cinfo
-
value_class
protected Class<?> value_class
-
field
protected FieldDescriptor field
-
getter
protected Method getter
-
setter
protected Method setter
-
-
Constructor Detail
-
AbstractFieldInfo
protected AbstractFieldInfo(ClassInfoIF parent_cinfo, String name, int index, Class<?> value_class, boolean is_collection, int cardinality, boolean readonly)
-
-
Method Detail
-
getName
public String getName()
Description copied from interface:FieldInfoIF
INTERNAL: Gets the field name.- Specified by:
getName
in interfaceFieldInfoIF
-
getIndex
public int getIndex()
Description copied from interface:FieldInfoIF
INTERNAL: Gets the value field index of this field. This is the id (index) used by transactions and persistent instances to refer to this particular object field.- Specified by:
getIndex
in interfaceFieldInfoIF
-
isReadOnly
public boolean isReadOnly()
Description copied from interface:FieldInfoIF
INTERNAL: Returns true if this field is read-only field.- Specified by:
isReadOnly
in interfaceFieldInfoIF
-
getCardinality
public int getCardinality()
Description copied from interface:FieldInfoIF
INTERNAL: Gets the field cardinality.- Specified by:
getCardinality
in interfaceFieldInfoIF
-
isCollectionField
public boolean isCollectionField()
Description copied from interface:FieldInfoIF
INTERNAL: Returns true if the field is a collection field (has a cardinality of 1:1 or 1:M).- Specified by:
isCollectionField
in interfaceFieldInfoIF
-
isPrimitiveField
public boolean isPrimitiveField()
Description copied from interface:FieldInfoIF
INTERNAL: Returns true if the field is a primitive field. Field value must be of primitive type.- Specified by:
isPrimitiveField
in interfaceFieldInfoIF
-
isReferenceField
public boolean isReferenceField()
Description copied from interface:FieldInfoIF
INTERNAL: Returns true if the field is a reference field. Field value must be of identifiable type.- Specified by:
isReferenceField
in interfaceFieldInfoIF
-
isAggregateField
public boolean isAggregateField()
Description copied from interface:FieldInfoIF
INTERNAL: Returns true if the field is an aggregate field. Field value must be of aggregate type.- Specified by:
isAggregateField
in interfaceFieldInfoIF
-
getParentClassInfo
public ClassInfoIF getParentClassInfo()
Description copied from interface:FieldInfoIF
INTERNAL: Gets the class info for the field's object type.- Specified by:
getParentClassInfo
in interfaceFieldInfoIF
-
getValueClass
public Class<?> getValueClass()
Description copied from interface:FieldInfoIF
INTERNAL: Gets the field value class. For primitive fields the primitive wrapper class is returned.- Specified by:
getValueClass
in interfaceFieldInfoIF
-
getTable
public String getTable()
Description copied from interface:FieldInfoIF
INTERNAL: Gets the table in which the field value is stored (aka the master table).- Specified by:
getTable
in interfaceFieldInfoIF
-
getValue
public Object getValue(Object object) throws Exception
Description copied from interface:FieldInfoIF
INTERNAL: Gets the field value from the given object.- Specified by:
getValue
in interfaceFieldInfoIF
- Throws:
Exception
-
setValue
public void setValue(Object object, Object value) throws Exception
Description copied from interface:FieldInfoIF
INTERNAL: Sets the field value for the given object.- Specified by:
setValue
in interfaceFieldInfoIF
- Throws:
Exception
-
getGetterMethod
protected Method getGetterMethod()
-
getSetterMethod
protected Method getSetterMethod()
-
getJoinTable
public String getJoinTable()
Description copied from interface:FieldInfoIF
INTERNAL: Gets the name of the table which needs to be joined to order to access the field value from the master table.- Specified by:
getJoinTable
in interfaceFieldInfoIF
-
getJoinKeys
public String[] getJoinKeys()
Description copied from interface:FieldInfoIF
INTERNAL: Gets the columns in the join table that contains the keys of the referencing object.- Specified by:
getJoinKeys
in interfaceFieldInfoIF
-
getManyKeys
public String[] getManyKeys()
Description copied from interface:FieldInfoIF
INTERNAL: Gets the columns in the join table that contains the keys of the referenced object.- Specified by:
getManyKeys
in interfaceFieldInfoIF
-
getDescriptor
public FieldDescriptor getDescriptor()
INTERNAL: Returns the underlying FieldDescriptor instance if one exists.
-
-