org.eclipse.ocl.examples.modelregistry.environment
Class ClassDelegate<T>

java.lang.Object
  extended by org.eclipse.ocl.examples.modelregistry.environment.ClassDelegate<T>
Direct Known Subclasses:
ModelSerializationRegistry.FactorySerializationDelegate

public abstract class ClassDelegate<T>
extends java.lang.Object

ClassDelegate captures a class name mentioned in an extension, but defers loading that class until it is actually needed.


Field Summary
protected  java.lang.String className
           
protected  java.lang.Class<T> clazz
           
 
Constructor Summary
ClassDelegate(java.lang.String className, java.lang.Class<T> clazz)
           
ClassDelegate(T instance)
           
 
Method Summary
 T load()
           
protected abstract  java.lang.Class<?> loadClass(java.lang.String className)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

className

protected final java.lang.String className

clazz

protected final java.lang.Class<T> clazz
Constructor Detail

ClassDelegate

public ClassDelegate(java.lang.String className,
                     java.lang.Class<T> clazz)

ClassDelegate

public ClassDelegate(T instance)
Method Detail

load

public T load()

loadClass

protected abstract java.lang.Class<?> loadClass(java.lang.String className)
                                         throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object