Package org.datanucleus.api.jdo
Class JDOEnhancer
- java.lang.Object
-
- org.datanucleus.api.jdo.JDOEnhancer
-
- All Implemented Interfaces:
ClassFileTransformer
,javax.jdo.JDOEnhancer
public class JDOEnhancer extends Object implements javax.jdo.JDOEnhancer
Implementation of a JDO-compliant Enhancer.
-
-
Constructor Summary
Constructors Constructor Description JDOEnhancer()
Constructor for a JDO enhancer.JDOEnhancer(Properties props)
Constructor for a JDO enhancer specifying optional properties.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JDOEnhancer
addClass(String className, byte[] bytes)
JDOEnhancer
addClasses(String... classNames)
JDOEnhancer
addFiles(String... metadataFiles)
JDOEnhancer
addJar(String jarFileName)
JDOEnhancer
addPersistenceUnit(String persistenceUnitName)
int
enhance()
byte[]
getEnhancedBytes(String className)
byte[]
getPkClassBytes(String className)
DataNucleus extension returning the bytes of the generated primary key class (if any) for the specified persistent class.Properties
getProperties()
javax.jdo.metadata.JDOMetadata
newMetadata()
void
registerMetadata(javax.jdo.metadata.JDOMetadata metadata)
JDOEnhancer
setClassLoader(ClassLoader loader)
JDOEnhancer
setOutputDirectory(String dir)
JDOEnhancer
setVerbose(boolean verbose)
byte[]
transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)
int
validate()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.instrument.ClassFileTransformer
transform
-
-
-
-
Constructor Detail
-
JDOEnhancer
public JDOEnhancer()
Constructor for a JDO enhancer.
-
JDOEnhancer
public JDOEnhancer(Properties props)
Constructor for a JDO enhancer specifying optional properties.- Parameters:
props
- Properties
-
-
Method Detail
-
newMetadata
public javax.jdo.metadata.JDOMetadata newMetadata()
- Specified by:
newMetadata
in interfacejavax.jdo.JDOEnhancer
-
registerMetadata
public void registerMetadata(javax.jdo.metadata.JDOMetadata metadata)
- Specified by:
registerMetadata
in interfacejavax.jdo.JDOEnhancer
-
addClass
public JDOEnhancer addClass(String className, byte[] bytes)
- Specified by:
addClass
in interfacejavax.jdo.JDOEnhancer
-
addClasses
public JDOEnhancer addClasses(String... classNames)
- Specified by:
addClasses
in interfacejavax.jdo.JDOEnhancer
-
addFiles
public JDOEnhancer addFiles(String... metadataFiles)
- Specified by:
addFiles
in interfacejavax.jdo.JDOEnhancer
-
addJar
public JDOEnhancer addJar(String jarFileName)
- Specified by:
addJar
in interfacejavax.jdo.JDOEnhancer
-
addPersistenceUnit
public JDOEnhancer addPersistenceUnit(String persistenceUnitName)
- Specified by:
addPersistenceUnit
in interfacejavax.jdo.JDOEnhancer
-
enhance
public int enhance()
- Specified by:
enhance
in interfacejavax.jdo.JDOEnhancer
-
getEnhancedBytes
public byte[] getEnhancedBytes(String className)
- Specified by:
getEnhancedBytes
in interfacejavax.jdo.JDOEnhancer
-
getPkClassBytes
public byte[] getPkClassBytes(String className)
DataNucleus extension returning the bytes of the generated primary key class (if any) for the specified persistent class.- Parameters:
className
- Name of the persistent class- Returns:
- Bytes of generated PK class (if any)
-
getProperties
public Properties getProperties()
- Specified by:
getProperties
in interfacejavax.jdo.JDOEnhancer
-
setClassLoader
public JDOEnhancer setClassLoader(ClassLoader loader)
- Specified by:
setClassLoader
in interfacejavax.jdo.JDOEnhancer
-
setOutputDirectory
public JDOEnhancer setOutputDirectory(String dir)
- Specified by:
setOutputDirectory
in interfacejavax.jdo.JDOEnhancer
-
setVerbose
public JDOEnhancer setVerbose(boolean verbose)
- Specified by:
setVerbose
in interfacejavax.jdo.JDOEnhancer
-
validate
public int validate()
- Specified by:
validate
in interfacejavax.jdo.JDOEnhancer
-
transform
public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException
- Specified by:
transform
in interfaceClassFileTransformer
- Throws:
IllegalClassFormatException
-
-