net.ontopia.persistence.proxy
Class AbstractFieldInfo

java.lang.Object
  extended by net.ontopia.persistence.proxy.AbstractFieldInfo
All Implemented Interfaces:
FieldHandlerIF, FieldInfoIF
Direct Known Subclasses:
AggregateFieldInfo, PrimitiveFieldInfo, ReferenceFieldInfo

public abstract class AbstractFieldInfo
extends java.lang.Object
implements FieldInfoIF

INTERNAL: An abstract field info class containing the common behaviour for FieldInfoIFs.


Field Summary
protected  int cardinality
           
protected  FieldDescriptor field
           
protected  java.lang.reflect.Method getter
           
protected  int index
           
protected  boolean is_collection
           
protected  java.lang.String name
           
protected  ClassInfoIF parent_cinfo
           
protected  boolean readonly
           
protected  java.lang.reflect.Method setter
           
protected  java.lang.Class value_class
           
 
Fields inherited from interface net.ontopia.persistence.proxy.FieldInfoIF
MANY_TO_MANY, ONE_TO_MANY, ONE_TO_ONE
 
Constructor Summary
protected AbstractFieldInfo(ClassInfoIF parent_cinfo, java.lang.String name, int index, java.lang.Class value_class, boolean is_collection, int cardinality, boolean readonly)
           
 
Method Summary
 int getCardinality()
          INTERNAL: Gets the field cardinality.
 FieldDescriptor getDescriptor()
          INTERNAL: Returns the underlying FieldDescriptor instance if one exists.
protected  java.lang.reflect.Method getGetterMethod()
           
 int getIndex()
          INTERNAL: Gets the value field index of this field.
 java.lang.String[] getJoinKeys()
          INTERNAL: Gets the columns in the join table that contains the keys of the referencing object.
 java.lang.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.
 java.lang.String[] getManyKeys()
          INTERNAL: Gets the columns in the join table that contains the keys of the referenced object.
 java.lang.String getName()
          INTERNAL: Gets the field name.
 ClassInfoIF getParentClassInfo()
          INTERNAL: Gets the class info for the field's object type.
protected  java.lang.reflect.Method getSetterMethod()
           
 java.lang.String getTable()
          INTERNAL: Gets the table in which the field value is stored (aka the master table).
 java.lang.Object getValue(java.lang.Object object)
          INTERNAL: Gets the field value from the given object.
 java.lang.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(java.lang.Object object, java.lang.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.FieldInfoIF
getValueClassInfo, getValueColumns
 
Methods inherited from interface net.ontopia.persistence.proxy.FieldHandlerIF
bind, getColumnCount, isIdentityField, load, retrieveFieldValues, retrieveSQLValues
 

Field Detail

name

protected java.lang.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 java.lang.Class value_class

field

protected FieldDescriptor field

getter

protected java.lang.reflect.Method getter

setter

protected java.lang.reflect.Method setter
Constructor Detail

AbstractFieldInfo

protected AbstractFieldInfo(ClassInfoIF parent_cinfo,
                            java.lang.String name,
                            int index,
                            java.lang.Class value_class,
                            boolean is_collection,
                            int cardinality,
                            boolean readonly)
Method Detail

getName

public java.lang.String getName()
Description copied from interface: FieldInfoIF
INTERNAL: Gets the field name.

Specified by:
getName in interface FieldInfoIF

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 interface FieldInfoIF

isReadOnly

public boolean isReadOnly()
Description copied from interface: FieldInfoIF
INTERNAL: Returns true if this field is read-only field.

Specified by:
isReadOnly in interface FieldInfoIF

getCardinality

public int getCardinality()
Description copied from interface: FieldInfoIF
INTERNAL: Gets the field cardinality.

Specified by:
getCardinality in interface FieldInfoIF

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 interface FieldInfoIF

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 interface FieldInfoIF

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 interface FieldInfoIF

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 interface FieldInfoIF

getParentClassInfo

public ClassInfoIF getParentClassInfo()
Description copied from interface: FieldInfoIF
INTERNAL: Gets the class info for the field's object type.

Specified by:
getParentClassInfo in interface FieldInfoIF

getValueClass

public java.lang.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 interface FieldInfoIF

getTable

public java.lang.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 interface FieldInfoIF

getValue

public java.lang.Object getValue(java.lang.Object object)
                          throws java.lang.Exception
Description copied from interface: FieldInfoIF
INTERNAL: Gets the field value from the given object.

Specified by:
getValue in interface FieldInfoIF
Throws:
java.lang.Exception

setValue

public void setValue(java.lang.Object object,
                     java.lang.Object value)
              throws java.lang.Exception
Description copied from interface: FieldInfoIF
INTERNAL: Sets the field value for the given object.

Specified by:
setValue in interface FieldInfoIF
Throws:
java.lang.Exception

getGetterMethod

protected java.lang.reflect.Method getGetterMethod()

getSetterMethod

protected java.lang.reflect.Method getSetterMethod()

getJoinTable

public java.lang.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 interface FieldInfoIF

getJoinKeys

public java.lang.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 interface FieldInfoIF

getManyKeys

public java.lang.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 interface FieldInfoIF

getDescriptor

public FieldDescriptor getDescriptor()
INTERNAL: Returns the underlying FieldDescriptor instance if one exists.



Copyright © 2000-2012 Ontopia.