Package net.ontopia.persistence.proxy
Class ClassInfo
java.lang.Object
net.ontopia.persistence.proxy.ClassInfo
- All Implemented Interfaces:
ClassInfoIF
INTERNAL: A class descriptor-like class that is used by the RDBMS
proxy implementation to access the information it needs about the
object relational class descriptor in an optimized manner.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ClassDescriptorprotected Map<String,FieldInfoIF> protected FieldInfoIFprotected Class<?>protected Class<?>protected FieldInfoIF[]protected RDBMSMappingprotected FieldInfoIF[]protected FieldInfoIF[]protected FieldInfoIF[]Fields inherited from interface net.ontopia.persistence.proxy.ClassInfoIF
STRUCTURE_COLLECTION, STRUCTURE_OBJECT, TYPE_AGGREGATE, TYPE_IDENTIFIABLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcompile()INTERNAL: Compile the information in the class descriptor to an optimized form.protected static FieldInfoIF[]compileFieldInfos(ClassInfoIF cinfo, FieldDescriptor[] fdescs) INTERNAL: Wraps the field descriptors in the appropriate field info implementations.createInstance(boolean immutable) INTERNAL: Creates an instance of the descriptor class.Class<?>INTERNAL: Return the descriptor class described by the descriptor.protected static FieldInfoIFgetFieldInfo(ClassInfoIF cinfo, FieldDescriptor fdesc, int index) INTERNAL: Wraps the field descriptor in the appropriate field info implementation.getFieldInfoByName(String name) INTERNAL: Get the field info by name.INTERNAL: Get the identity field infos.INTERNAL: Get the M:M field infos.INTERNAL: Returns the RDBMS specific object relational mapping instance.INTERNAL: Returns the name of the master table in which the class is stored.getName()INTERNAL: Returns the name of the descriptor class (the mapped class).INTERNAL: Get the 1:M field infos.INTERNAL: Get the 1:1 field infos.intINTERNAL: Returns the structure of the descriptor class.INTERNAL: Get the value field infos.booleanINTERNAL: Returns true if the descriptor class is declared as an abstract descriptor.booleanINTERNAL: Returns true if the descriptor class is declared as an aggregate type.booleanINTERNAL: Returns true if the descriptor class is declared as a an identifiable type.toString()
-
Field Details
-
mapping
-
cdesc
-
klass
-
klass_immutable
-
fields
-
identity_field
-
value_fields
-
o2o_fields
-
o2m_fields
-
m2m_fields
-
-
Constructor Details
-
ClassInfo
-
-
Method Details
-
compile
protected void compile()INTERNAL: Compile the information in the class descriptor to an optimized form. Called from RDBSMapping, because calling it in the constructor leads to never-ending recursion. -
getMapping
INTERNAL: Returns the RDBMS specific object relational mapping instance.- Specified by:
getMappingin interfaceClassInfoIF
-
getName
Description copied from interface:ClassInfoIFINTERNAL: Returns the name of the descriptor class (the mapped class).- Specified by:
getNamein interfaceClassInfoIF
-
getDescriptorClass
INTERNAL: Return the descriptor class described by the descriptor.- Specified by:
getDescriptorClassin interfaceClassInfoIF
-
createInstance
Description copied from interface:ClassInfoIFINTERNAL: Creates an instance of the descriptor class. Actual implementation will depend on the immutable argument.- Specified by:
createInstancein interfaceClassInfoIF- Throws:
Exception
-
getFieldInfoByName
INTERNAL: Get the field info by name.- Specified by:
getFieldInfoByNamein interfaceClassInfoIF
-
getIdentityFieldInfo
INTERNAL: Get the identity field infos.- Specified by:
getIdentityFieldInfoin interfaceClassInfoIF
-
getValueFieldInfos
INTERNAL: Get the value field infos.- Specified by:
getValueFieldInfosin interfaceClassInfoIF
-
getOne2OneFieldInfos
INTERNAL: Get the 1:1 field infos.- Specified by:
getOne2OneFieldInfosin interfaceClassInfoIF
-
getOne2ManyFieldInfos
INTERNAL: Get the 1:M field infos.- Specified by:
getOne2ManyFieldInfosin interfaceClassInfoIF
-
getMany2ManyFieldInfos
INTERNAL: Get the M:M field infos.- Specified by:
getMany2ManyFieldInfosin interfaceClassInfoIF
-
isAbstract
public boolean isAbstract()Description copied from interface:ClassInfoIFINTERNAL: Returns true if the descriptor class is declared as an abstract descriptor.- Specified by:
isAbstractin interfaceClassInfoIF
-
isIdentifiable
public boolean isIdentifiable()Description copied from interface:ClassInfoIFINTERNAL: Returns true if the descriptor class is declared as a an identifiable type.- Specified by:
isIdentifiablein interfaceClassInfoIF
-
isAggregate
public boolean isAggregate()Description copied from interface:ClassInfoIFINTERNAL: Returns true if the descriptor class is declared as an aggregate type.- Specified by:
isAggregatein interfaceClassInfoIF
-
getStructure
public int getStructure()Description copied from interface:ClassInfoIFINTERNAL: Returns the structure of the descriptor class. This can either be OBJECT, COLLECTION or MAP.- Specified by:
getStructurein interfaceClassInfoIF
-
getMasterTable
Description copied from interface:ClassInfoIFINTERNAL: Returns the name of the master table in which the class is stored. This is the table which typically contains the instance identity.- Specified by:
getMasterTablein interfaceClassInfoIF
-
compileFieldInfos
INTERNAL: Wraps the field descriptors in the appropriate field info implementations. -
getFieldInfo
INTERNAL: Wraps the field descriptor in the appropriate field info implementation. -
toString
-