org.neodatis.odb.core.layers.layer1.introspector
Interface IClassIntrospector

All Superinterfaces:
ITwoPhaseInit
All Known Implementing Classes:
AbstractClassIntrospector, AndroidClassIntrospector, DefaultClassIntrospector

public interface IClassIntrospector
extends ITwoPhaseInit


Method Summary
 void addFullInstanciationHelper(java.lang.Class clazz, FullInstantiationHelper helper)
           
 void addFullInstantiationHelper(java.lang.String clazz, FullInstantiationHelper helper)
           
 void addInstanciationHelper(java.lang.Class clazz, InstantiationHelper helper)
           
 void addInstantiationHelper(java.lang.String clazz, InstantiationHelper helper)
           
 void addParameterHelper(java.lang.Class clazz, ParameterHelper helper)
           
 void addParameterHelper(java.lang.String clazz, ParameterHelper helper)
           
 IOdbList<java.lang.reflect.Field> getAllFields(java.lang.String fullClassName)
           
 byte getClassCategory(java.lang.String fullClassName)
           
 ClassInfo getClassInfo(java.lang.String fullClassName, ClassInfo existingClassInfo)
          Builds a class info from a class and an existing class info
 java.lang.reflect.Constructor getConstructorOf(java.lang.String fullClassName)
           
 java.lang.reflect.Field getField(java.lang.Class clazz, java.lang.String fieldName)
           
 java.util.List getSuperClasses(java.lang.String fullClassName, boolean includingThis)
           
 java.util.Map<java.lang.String,ClassInfo> instrospect(IOdbList<ClassInfo> classInfos)
          introspect a list of classes
 ClassInfoList introspect(java.lang.Class clazz, boolean recursive)
           
 ClassInfoList introspect(java.lang.String fullClassName, boolean recursive)
           
 boolean isSystemClass(java.lang.String fullClassName)
           
 java.lang.Object newFullInstanceOf(java.lang.Class clazz, NonNativeObjectInfo nnoi)
           
 java.lang.Object newInstanceOf(java.lang.Class clazz)
           
 void persistFieldOfClass(java.lang.String className, java.lang.String fieldName, boolean yesNo)
          To force persisting a field or to avoid a field from being persiste
 void removeFullInstantiationHelper(java.lang.Class clazz)
           
 void removeFullInstantiationHelper(java.lang.String canonicalName)
           
 void removeInstantiationHelper(java.lang.Class clazz)
           
 void removeInstantiationHelper(java.lang.String canonicalName)
           
 void removeParameterHelper(java.lang.Class clazz)
           
 void removeParameterHelper(java.lang.String canonicalName)
           
 IOdbList<java.lang.reflect.Field> removeUnnecessaryFields(java.lang.String className, IOdbList<java.lang.reflect.Field> fields)
           
 void reset()
           
 
Methods inherited from interface org.neodatis.odb.core.ITwoPhaseInit
init2
 

Method Detail

reset

void reset()

addInstanciationHelper

void addInstanciationHelper(java.lang.Class clazz,
                            InstantiationHelper helper)

addParameterHelper

void addParameterHelper(java.lang.Class clazz,
                        ParameterHelper helper)

addFullInstanciationHelper

void addFullInstanciationHelper(java.lang.Class clazz,
                                FullInstantiationHelper helper)

addInstantiationHelper

void addInstantiationHelper(java.lang.String clazz,
                            InstantiationHelper helper)

addParameterHelper

void addParameterHelper(java.lang.String clazz,
                        ParameterHelper helper)

addFullInstantiationHelper

void addFullInstantiationHelper(java.lang.String clazz,
                                FullInstantiationHelper helper)

removeInstantiationHelper

void removeInstantiationHelper(java.lang.Class clazz)

removeInstantiationHelper

void removeInstantiationHelper(java.lang.String canonicalName)

removeParameterHelper

void removeParameterHelper(java.lang.Class clazz)

removeParameterHelper

void removeParameterHelper(java.lang.String canonicalName)

removeFullInstantiationHelper

void removeFullInstantiationHelper(java.lang.Class clazz)

removeFullInstantiationHelper

void removeFullInstantiationHelper(java.lang.String canonicalName)

instrospect

java.util.Map<java.lang.String,ClassInfo> instrospect(IOdbList<ClassInfo> classInfos)
introspect a list of classes

Parameters:
classInfos -
Returns:
A map where the key is the class name and the key is the ClassInfo: the class meta representation

introspect

ClassInfoList introspect(java.lang.Class clazz,
                         boolean recursive)
Parameters:
clazz - The class to instrospect
recursive - If true, goes does the hierarchy to try to analyse all classes
Returns:
The list of class info detected while introspecting the class

getClassInfo

ClassInfo getClassInfo(java.lang.String fullClassName,
                       ClassInfo existingClassInfo)
Builds a class info from a class and an existing class info
 The existing class info is used to make sure that fields with the same name will have
 the same id
 

Parameters:
fullClassName - The name of the class to get info
existingClassInfo -
Returns:
A ClassInfo - a meta representation of the class

getSuperClasses

java.util.List getSuperClasses(java.lang.String fullClassName,
                               boolean includingThis)
Parameters:
fullClassName -
includingThis -
Returns:
The list of super classes

getAllFields

IOdbList<java.lang.reflect.Field> getAllFields(java.lang.String fullClassName)

removeUnnecessaryFields

IOdbList<java.lang.reflect.Field> removeUnnecessaryFields(java.lang.String className,
                                                          IOdbList<java.lang.reflect.Field> fields)

introspect

ClassInfoList introspect(java.lang.String fullClassName,
                         boolean recursive)

getConstructorOf

java.lang.reflect.Constructor getConstructorOf(java.lang.String fullClassName)

newFullInstanceOf

java.lang.Object newFullInstanceOf(java.lang.Class clazz,
                                   NonNativeObjectInfo nnoi)

newInstanceOf

java.lang.Object newInstanceOf(java.lang.Class clazz)

getClassCategory

byte getClassCategory(java.lang.String fullClassName)

isSystemClass

boolean isSystemClass(java.lang.String fullClassName)

getField

java.lang.reflect.Field getField(java.lang.Class clazz,
                                 java.lang.String fieldName)

persistFieldOfClass

void persistFieldOfClass(java.lang.String className,
                         java.lang.String fieldName,
                         boolean yesNo)
To force persisting a field or to avoid a field from being persiste
 

Parameters:
className -
fieldName -
yesNo -