Package net.ontopia.persistence.proxy
Class AggregateFieldInfo
- java.lang.Object
-
- net.ontopia.persistence.proxy.AbstractFieldInfo
-
- net.ontopia.persistence.proxy.AggregateFieldInfo
-
- All Implemented Interfaces:
FieldHandlerIF,FieldInfoIF
public class AggregateFieldInfo extends AbstractFieldInfo
INTERNAL: A field that references an aggregate class.An aggregate field is a composite of one or more fields that together represent the fields of instances of the aggregate value class.
-
-
Field Summary
Fields Modifier and Type Field Description protected intcolumn_countprotected FieldInfoIF[]fieldsprotected ClassInfoIFvalue_cinfoprotected String[]value_columns-
Fields inherited from class net.ontopia.persistence.proxy.AbstractFieldInfo
cardinality, field, getter, index, is_collection, name, parent_cinfo, readonly, setter, value_class
-
Fields inherited from interface net.ontopia.persistence.proxy.FieldInfoIF
MANY_TO_MANY, ONE_TO_MANY, ONE_TO_ONE
-
-
Constructor Summary
Constructors Constructor Description AggregateFieldInfo(ClassInfoIF parent_cinfo, FieldDescriptor field, int index)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaggregateColumnNames(List<String> columns)voidbind(Object value, PreparedStatement stm, int stmt_index)INTERNAL: Binds the object field value starting from the given offset in the prepared statement.protected String[]computeValueColumns()intgetColumnCount()INTERNAL: Returns the number of columns that the field spans.ClassInfoIFgetValueClassInfo()INTERNAL: Gets the class info for the field's value type.String[]getValueColumns()INTERNAL: Returns the names of the columns that the field spans.booleanisIdentityField()INTERNAL: Returns true if the field handler references an object identity field.Objectload(AccessRegistrarIF registrar, TicketIF ticket, ResultSet rs, int rsindex, boolean direct)INTERNAL: Loads from its containing fields an aggregate object.protected ObjectreadAggregateObject(AccessRegistrarIF registrar, TicketIF ticket, ResultSet rs, int rsindex, boolean direct)voidretrieveFieldValues(Object value, List<Object> field_values)voidretrieveSQLValues(Object value, List<SQLValueIF> sql_values)StringtoString()-
Methods inherited from class net.ontopia.persistence.proxy.AbstractFieldInfo
getCardinality, getDescriptor, getGetterMethod, getIndex, getJoinKeys, getJoinTable, getManyKeys, getName, getParentClassInfo, getSetterMethod, getTable, getValue, getValueClass, isAggregateField, isCollectionField, isPrimitiveField, isReadOnly, isReferenceField, setValue
-
-
-
-
Field Detail
-
value_cinfo
protected ClassInfoIF value_cinfo
-
fields
protected FieldInfoIF[] fields
-
value_columns
protected String[] value_columns
-
column_count
protected int column_count
-
-
Constructor Detail
-
AggregateFieldInfo
public AggregateFieldInfo(ClassInfoIF parent_cinfo, FieldDescriptor field, int index)
-
-
Method Detail
-
getValueClassInfo
public ClassInfoIF getValueClassInfo()
Description copied from interface:FieldInfoIFINTERNAL: Gets the class info for the field's value type. Note that primitive value classes don't have a class info.
-
getColumnCount
public int getColumnCount()
Description copied from interface:FieldHandlerIFINTERNAL: Returns the number of columns that the field spans.
-
isIdentityField
public boolean isIdentityField()
Description copied from interface:FieldHandlerIFINTERNAL: Returns true if the field handler references an object identity field.
-
getValueColumns
public String[] getValueColumns()
Description copied from interface:FieldInfoIFINTERNAL: Returns the names of the columns that the field spans.
-
computeValueColumns
protected String[] computeValueColumns()
-
readAggregateObject
protected Object readAggregateObject(AccessRegistrarIF registrar, TicketIF ticket, ResultSet rs, int rsindex, boolean direct) throws SQLException
- Throws:
SQLException
-
load
public Object load(AccessRegistrarIF registrar, TicketIF ticket, ResultSet rs, int rsindex, boolean direct) throws SQLException
INTERNAL: Loads from its containing fields an aggregate object.- Throws:
SQLException
-
bind
public void bind(Object value, PreparedStatement stm, int stmt_index) throws SQLException
Description copied from interface:FieldHandlerIFINTERNAL: Binds the object field value starting from the given offset in the prepared statement. The number of columns actually bound depends on the type of object field.- Throws:
SQLException
-
retrieveSQLValues
public void retrieveSQLValues(Object value, List<SQLValueIF> sql_values)
-
-