org.eclipse.persistence.dynamic
Class DynamicClassWriter
java.lang.Object
org.eclipse.persistence.dynamic.DynamicClassWriter
public class DynamicClassWriter
- extends Object
Write the byte codes of a dynamic entity class. The class writer will create
the byte codes for a dynamic class that subclasses any provided class
replicating its constructors and writeReplace method (if one exists).
The intent is to provide a common writer for dynamic JPA entities but also
allow for subclasses of this to be used in more complex writing situations
such as SDO and DBWS.
Instances of this class and any subclasses are maintained within the
DynamicClassLoader.getClassWriters()
and
DynamicClassLoader.defaultWriter
for the life of the class loader so
it is important that no unnecessary state be maintained that may effect
memory usage.
- Since:
- EclipseLink 1.2
- Author:
- dclarke, mnorman
DynamicClassWriter
public DynamicClassWriter()
DynamicClassWriter
public DynamicClassWriter(Class<?> parentClass)
DynamicClassWriter
public DynamicClassWriter(String parentClassName)
- Create using a loader and class name so that the parent class can be
lazily loaded when the writer is used to generate a dynamic class.
The loader must not be null and the parentClassName must not be null and
not an empty String. The parentClassName will be converted to a class
using the provided loader lazily.
- See Also:
getParentClass()
,
DynamicException.illegalDynamicClassWriter(DynamicClassLoader,
String)
getParentClass
public Class<?> getParentClass()
getParentClassName
public String getParentClassName()
writeClass
public byte[] writeClass(DynamicClassLoader loader,
String className)
throws ClassNotFoundException
- Throws:
ClassNotFoundException
toString
public String toString()
- Overrides:
toString
in class Object