org.siebengeisslein.pclass
Class TypeManager

java.lang.Object
  extended by org.siebengeisslein.client.Persistent
      extended by org.siebengeisslein.pclass.TypeManager
All Implemented Interfaces:
Instrumented

public class TypeManager
extends Persistent


Constructor Summary
TypeManager()
           
 
Method Summary
 void add(PType type)
           
 void addImplementedTypesIndex()
           
 void clearQueryCache()
           
 QueryResult<PType> getClassTypes()
           
 QueryResult<PType> getClassTypes(java.lang.String namePrefix)
           
 PField getField(PType owner, java.lang.String name)
           
 QueryResult<PType> getInterfaceClassTypes()
           
 QueryResult<PType> getInterfaceClassTypes(java.lang.String namePrefix)
           
 PType getOrCreateType(java.lang.String text)
           
 QueryResult<PType> getPersistentClassTypes()
           
 QueryResult<PType> getPersistentClassTypes(java.lang.String namePrefix)
           
 QueryResult<PType> getPersistentFieldTypes()
           
 QueryResult<PType> getPersistentFieldTypes(java.lang.String namePrefix)
           
 PType getReturnType(org.objectweb.asm.Type type)
           
 QueryResult<PType> getStartableTypes()
           
 QueryResult<PType> getStartableTypes(java.lang.String namePrefix)
           
 PType getType(java.lang.Class clazz)
           
 PType getType(org.objectweb.asm.Type type)
           
 QueryResult<PType> getTypes()
           
 QueryResult<PType> getTypes(java.lang.String namePrefix)
           
 VoidPType getVoidType()
           
 java.lang.Class loadClass(PType type)
           
 void optimize()
           
 void removeImplementedTypesIndex()
          Before adding new libraries to the typeManager, the implementedTypes index should be removed, because it can cause problems, when a class is added before its super class.
 
Methods inherited from class org.siebengeisslein.client.Persistent
abort, clearUserLocals, clone, commit, disposeTransient, getGroup, getRef, getTransientValue, hashCode, initTransient, isWriteTransaction, joinWriteTransaction, readLock, setGroup, setTransientValue, toPersistent, toRef, writeExternal, writeLock
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TypeManager

public TypeManager()
Method Detail

getVoidType

public VoidPType getVoidType()

add

public void add(PType type)

getOrCreateType

public PType getOrCreateType(java.lang.String text)

getField

public PField getField(PType owner,
                       java.lang.String name)

loadClass

public java.lang.Class loadClass(PType type)
                          throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

getReturnType

public PType getReturnType(org.objectweb.asm.Type type)

getType

public PType getType(org.objectweb.asm.Type type)

getType

public PType getType(java.lang.Class clazz)

getTypes

public QueryResult<PType> getTypes()

getTypes

public QueryResult<PType> getTypes(java.lang.String namePrefix)

getPersistentFieldTypes

public QueryResult<PType> getPersistentFieldTypes()

getPersistentFieldTypes

public QueryResult<PType> getPersistentFieldTypes(java.lang.String namePrefix)

getPersistentClassTypes

public QueryResult<PType> getPersistentClassTypes()

getPersistentClassTypes

public QueryResult<PType> getPersistentClassTypes(java.lang.String namePrefix)

getClassTypes

public QueryResult<PType> getClassTypes()

getClassTypes

public QueryResult<PType> getClassTypes(java.lang.String namePrefix)

getInterfaceClassTypes

public QueryResult<PType> getInterfaceClassTypes()

getInterfaceClassTypes

public QueryResult<PType> getInterfaceClassTypes(java.lang.String namePrefix)

getStartableTypes

public QueryResult<PType> getStartableTypes()

getStartableTypes

public QueryResult<PType> getStartableTypes(java.lang.String namePrefix)

clearQueryCache

public void clearQueryCache()

optimize

public void optimize()

removeImplementedTypesIndex

public void removeImplementedTypesIndex()
Before adding new libraries to the typeManager, the implementedTypes index should be removed, because it can cause problems, when a class is added before its super class.


addImplementedTypesIndex

public void addImplementedTypesIndex()