de.grogra.persistence
Class ManageableType

java.lang.Object
  extended by de.grogra.reflect.MemberDecorator
      extended by de.grogra.reflect.TypeDecorator
          extended by de.grogra.persistence.ManageableType
All Implemented Interfaces:
Member, Type
Direct Known Subclasses:
Node.NType, SCOType

public abstract class ManageableType
extends TypeDecorator


Nested Class Summary
 class ManageableType.ArrayComponent
           
 class ManageableType.Field
           
 
Field Summary
static int FIELD_NAME_SERIALIZATION
           
static int FIELD_NODE_SERIALIZATION
           
protected  boolean finished
           
static int LIST_SERIALIZATION
           
 
Fields inherited from interface de.grogra.reflect.Type
BOOLEAN, BYTE, CHAR, CLASS, DOUBLE, FLOAT, FLOATING_POINT, INT, INTEGRAL, INVALID, LOCAL_CLASS_MODIFIERS, LONG, MEMBER_CLASS_MODIFIERS, MEMBER_INTERFACE_MODIFIERS, NULL, NUMBER, NUMERIC, OBJECT, SHORT, STRING, TOP_LEVEL_CLASS_MODIFIERS, TOP_LEVEL_INTERFACE_MODIFIERS, TYPE, TYPE_0, VOID
 
Fields inherited from interface de.grogra.reflect.Member
ABSTRACT, ACCESS_MODIFIERS, ARRAY, BRIDGE, CONSTANT, FINAL, INTERFACE, JAVA_MODIFIERS, LOCAL_CLASS, MIN_UNUSED_MODIFIER, NATIVE, PRIVATE, PROTECTED, PUBLIC, STATIC, STRICT, SYNCHRONIZED, SYNTHETIC, TRANSIENT, VARARGS, VOLATILE
 
Constructor Summary
protected ManageableType(Type type, ManageableType supertype, boolean register)
           
 
Method Summary
 void addManagedField(ManageableType.Field field)
           
protected  java.lang.Object cloneManageable(java.lang.Object o, boolean deep)
           
protected  java.lang.Object cloneNonsharedObject(java.lang.Object o, boolean deep)
           
 java.lang.Object cloneObject(java.lang.Object o, boolean deep)
           
static java.lang.Object cloneObject(Type t, java.lang.Object o, boolean deep, boolean cloneShared)
           
static ManageableType forClass(java.lang.Class type)
           
static ManageableType forName(java.lang.String name)
           
static ManageableType forType(Type type)
           
 ManageableType.Field[] getFCOFields()
           
 ManageableType getManageableSupertype()
           
 ManageableType.Field getManagedField(int fieldId)
           
 ManageableType.Field getManagedField(java.lang.String name)
           
 int getManagedFieldCount()
           
abstract  java.lang.Object getRepresentative()
           
 int getSerializationMethod()
           
 Type getSupertype()
           
 boolean isAssignableFrom(Type t)
           
 boolean isSerializable()
           
static java.lang.Object read(ManageableType.Field field, PersistenceInput in)
           
protected  java.lang.Object readObject(PersistenceInput in, java.lang.Object placeIn, boolean fieldsProvided)
           
protected  void replaceType(ManageableType.Field field, Type newType)
           
 PersistenceField resolveAliasField(java.lang.String name)
           
 java.lang.Object setObject(java.lang.Object placeIn, java.lang.Object value)
           
 void setSerializable(boolean serializable)
           
 void setSerializationMethod(int serializationMethod)
           
 ManageableType validate()
           
protected  void write(java.lang.Object value, PersistenceOutput out, boolean onlyDiff)
           
 
Methods inherited from class de.grogra.reflect.TypeDecorator
createArray, getArrayType, getBinaryName, getComponentType, getDeclaredField, getDeclaredFieldCount, getDeclaredInterface, getDeclaredInterfaceCount, getDeclaredMethod, getDeclaredMethodCount, getDeclaredType, getDeclaredTypeCount, getDefaultElementValue, getImplementationClass, getLookup, getPackage, getTypeId, getTypeLoader, isInstance, isStringSerializable, newInstance, toString, undecorate, valueOf
 
Methods inherited from class de.grogra.reflect.MemberDecorator
getDeclaredAnnotation, getDeclaredAnnotationCount, getDeclaringType, getDecoratedMember, getDescriptor, getModifiers, getName, getSimpleName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.grogra.reflect.Member
getDeclaredAnnotation, getDeclaredAnnotationCount, getDeclaringType, getDescriptor, getModifiers, getName, getSimpleName
 

Field Detail

FIELD_NAME_SERIALIZATION

public static final int FIELD_NAME_SERIALIZATION
See Also:
Constant Field Values

FIELD_NODE_SERIALIZATION

public static final int FIELD_NODE_SERIALIZATION
See Also:
Constant Field Values

finished

protected boolean finished

LIST_SERIALIZATION

public static final int LIST_SERIALIZATION
See Also:
Constant Field Values
Constructor Detail

ManageableType

protected ManageableType(Type type,
                         ManageableType supertype,
                         boolean register)
Method Detail

addManagedField

public final void addManagedField(ManageableType.Field field)

cloneManageable

protected java.lang.Object cloneManageable(java.lang.Object o,
                                           boolean deep)
                                    throws java.lang.CloneNotSupportedException
Throws:
java.lang.CloneNotSupportedException

cloneNonsharedObject

protected java.lang.Object cloneNonsharedObject(java.lang.Object o,
                                                boolean deep)
                                         throws java.lang.CloneNotSupportedException
Throws:
java.lang.CloneNotSupportedException

cloneObject

public final java.lang.Object cloneObject(java.lang.Object o,
                                          boolean deep)
                                   throws java.lang.CloneNotSupportedException
Specified by:
cloneObject in interface Type
Overrides:
cloneObject in class TypeDecorator
Throws:
java.lang.CloneNotSupportedException

cloneObject

public static java.lang.Object cloneObject(Type t,
                                           java.lang.Object o,
                                           boolean deep,
                                           boolean cloneShared)
                                    throws java.lang.CloneNotSupportedException
Throws:
java.lang.CloneNotSupportedException

forClass

public static ManageableType forClass(java.lang.Class type)

forName

public static ManageableType forName(java.lang.String name)

forType

public static ManageableType forType(Type type)

getFCOFields

public final ManageableType.Field[] getFCOFields()

getManageableSupertype

public final ManageableType getManageableSupertype()

getManagedField

public final ManageableType.Field getManagedField(int fieldId)

getManagedField

public final ManageableType.Field getManagedField(java.lang.String name)

getManagedFieldCount

public final int getManagedFieldCount()

getRepresentative

public abstract java.lang.Object getRepresentative()

getSerializationMethod

public final int getSerializationMethod()

getSupertype

public final Type getSupertype()
Specified by:
getSupertype in interface Type
Overrides:
getSupertype in class TypeDecorator

isAssignableFrom

public final boolean isAssignableFrom(Type t)

isSerializable

public final boolean isSerializable()

read

public static final java.lang.Object read(ManageableType.Field field,
                                          PersistenceInput in)
                                   throws java.io.IOException
Throws:
java.io.IOException

readObject

protected java.lang.Object readObject(PersistenceInput in,
                                      java.lang.Object placeIn,
                                      boolean fieldsProvided)
                               throws java.io.IOException
Throws:
java.io.IOException

replaceType

protected final void replaceType(ManageableType.Field field,
                                 Type newType)

resolveAliasField

public PersistenceField resolveAliasField(java.lang.String name)

setObject

public java.lang.Object setObject(java.lang.Object placeIn,
                                  java.lang.Object value)

setSerializable

public final void setSerializable(boolean serializable)

setSerializationMethod

public final void setSerializationMethod(int serializationMethod)

validate

public ManageableType validate()

write

protected void write(java.lang.Object value,
                     PersistenceOutput out,
                     boolean onlyDiff)
              throws java.io.IOException
Throws:
java.io.IOException