Class ClassInfo

java.lang.Object
net.ontopia.persistence.proxy.ClassInfo
All Implemented Interfaces:
ClassInfoIF

public class ClassInfo extends Object implements 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 Details

  • Constructor Details

  • 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

      public ObjectRelationalMappingIF getMapping()
      INTERNAL: Returns the RDBMS specific object relational mapping instance.
      Specified by:
      getMapping in interface ClassInfoIF
    • getName

      public String getName()
      Description copied from interface: ClassInfoIF
      INTERNAL: Returns the name of the descriptor class (the mapped class).
      Specified by:
      getName in interface ClassInfoIF
    • getDescriptorClass

      public Class<?> getDescriptorClass()
      INTERNAL: Return the descriptor class described by the descriptor.
      Specified by:
      getDescriptorClass in interface ClassInfoIF
    • createInstance

      public Object createInstance(boolean immutable) throws Exception
      Description copied from interface: ClassInfoIF
      INTERNAL: Creates an instance of the descriptor class. Actual implementation will depend on the immutable argument.
      Specified by:
      createInstance in interface ClassInfoIF
      Throws:
      Exception
    • getFieldInfoByName

      public FieldInfoIF getFieldInfoByName(String name)
      INTERNAL: Get the field info by name.
      Specified by:
      getFieldInfoByName in interface ClassInfoIF
    • getIdentityFieldInfo

      public FieldInfoIF getIdentityFieldInfo()
      INTERNAL: Get the identity field infos.
      Specified by:
      getIdentityFieldInfo in interface ClassInfoIF
    • getValueFieldInfos

      public FieldInfoIF[] getValueFieldInfos()
      INTERNAL: Get the value field infos.
      Specified by:
      getValueFieldInfos in interface ClassInfoIF
    • getOne2OneFieldInfos

      public FieldInfoIF[] getOne2OneFieldInfos()
      INTERNAL: Get the 1:1 field infos.
      Specified by:
      getOne2OneFieldInfos in interface ClassInfoIF
    • getOne2ManyFieldInfos

      public FieldInfoIF[] getOne2ManyFieldInfos()
      INTERNAL: Get the 1:M field infos.
      Specified by:
      getOne2ManyFieldInfos in interface ClassInfoIF
    • getMany2ManyFieldInfos

      public FieldInfoIF[] getMany2ManyFieldInfos()
      INTERNAL: Get the M:M field infos.
      Specified by:
      getMany2ManyFieldInfos in interface ClassInfoIF
    • isAbstract

      public boolean isAbstract()
      Description copied from interface: ClassInfoIF
      INTERNAL: Returns true if the descriptor class is declared as an abstract descriptor.
      Specified by:
      isAbstract in interface ClassInfoIF
    • isIdentifiable

      public boolean isIdentifiable()
      Description copied from interface: ClassInfoIF
      INTERNAL: Returns true if the descriptor class is declared as a an identifiable type.
      Specified by:
      isIdentifiable in interface ClassInfoIF
    • isAggregate

      public boolean isAggregate()
      Description copied from interface: ClassInfoIF
      INTERNAL: Returns true if the descriptor class is declared as an aggregate type.
      Specified by:
      isAggregate in interface ClassInfoIF
    • getStructure

      public int getStructure()
      Description copied from interface: ClassInfoIF
      INTERNAL: Returns the structure of the descriptor class. This can either be OBJECT, COLLECTION or MAP.
      Specified by:
      getStructure in interface ClassInfoIF
    • getMasterTable

      public String getMasterTable()
      Description copied from interface: ClassInfoIF
      INTERNAL: 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:
      getMasterTable in interface ClassInfoIF
    • compileFieldInfos

      protected static FieldInfoIF[] compileFieldInfos(ClassInfoIF cinfo, FieldDescriptor[] fdescs)
      INTERNAL: Wraps the field descriptors in the appropriate field info implementations.
    • getFieldInfo

      protected static FieldInfoIF getFieldInfo(ClassInfoIF cinfo, FieldDescriptor fdesc, int index)
      INTERNAL: Wraps the field descriptor in the appropriate field info implementation.
    • toString

      public String toString()
      Overrides:
      toString in class Object