org.datanucleus.jdo
Class JDODataNucleusEnhancer

java.lang.Object
  extended by org.datanucleus.jdo.JDODataNucleusEnhancer
All Implemented Interfaces:
ClassFileTransformer, javax.jdo.JDOEnhancer

public class JDODataNucleusEnhancer
extends Object
implements javax.jdo.JDOEnhancer

Implementation of a JDO-compliant Enhancer.


Constructor Summary
JDODataNucleusEnhancer()
          Constructor for a JDO enhancer.
JDODataNucleusEnhancer(Properties props)
          Constructor for a JDO enhancer specifying optional properties.
 
Method Summary
 javax.jdo.JDOEnhancer addClass(String className, byte[] bytes)
           
 javax.jdo.JDOEnhancer addClasses(String... classNames)
           
 javax.jdo.JDOEnhancer addFiles(String... metadataFiles)
           
 javax.jdo.JDOEnhancer addJar(String jarFileName)
           
 javax.jdo.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)
           
 javax.jdo.JDOEnhancer setClassLoader(ClassLoader loader)
           
 javax.jdo.JDOEnhancer setOutputDirectory(String dir)
           
 javax.jdo.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
 

Constructor Detail

JDODataNucleusEnhancer

public JDODataNucleusEnhancer()
Constructor for a JDO enhancer.


JDODataNucleusEnhancer

public JDODataNucleusEnhancer(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 interface javax.jdo.JDOEnhancer

registerMetadata

public void registerMetadata(javax.jdo.metadata.JDOMetadata metadata)
Specified by:
registerMetadata in interface javax.jdo.JDOEnhancer

addClass

public javax.jdo.JDOEnhancer addClass(String className,
                                      byte[] bytes)
Specified by:
addClass in interface javax.jdo.JDOEnhancer

addClasses

public javax.jdo.JDOEnhancer addClasses(String... classNames)
Specified by:
addClasses in interface javax.jdo.JDOEnhancer

addFiles

public javax.jdo.JDOEnhancer addFiles(String... metadataFiles)
Specified by:
addFiles in interface javax.jdo.JDOEnhancer

addJar

public javax.jdo.JDOEnhancer addJar(String jarFileName)
Specified by:
addJar in interface javax.jdo.JDOEnhancer

addPersistenceUnit

public javax.jdo.JDOEnhancer addPersistenceUnit(String persistenceUnitName)
Specified by:
addPersistenceUnit in interface javax.jdo.JDOEnhancer

enhance

public int enhance()
Specified by:
enhance in interface javax.jdo.JDOEnhancer

getEnhancedBytes

public byte[] getEnhancedBytes(String className)
Specified by:
getEnhancedBytes in interface javax.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 interface javax.jdo.JDOEnhancer

setClassLoader

public javax.jdo.JDOEnhancer setClassLoader(ClassLoader loader)
Specified by:
setClassLoader in interface javax.jdo.JDOEnhancer

setOutputDirectory

public javax.jdo.JDOEnhancer setOutputDirectory(String dir)
Specified by:
setOutputDirectory in interface javax.jdo.JDOEnhancer

setVerbose

public javax.jdo.JDOEnhancer setVerbose(boolean verbose)
Specified by:
setVerbose in interface javax.jdo.JDOEnhancer

validate

public int validate()
Specified by:
validate in interface javax.jdo.JDOEnhancer

transform

public byte[] transform(ClassLoader loader,
                        String className,
                        Class<?> classBeingRedefined,
                        ProtectionDomain protectionDomain,
                        byte[] classfileBuffer)
                 throws IllegalClassFormatException
Specified by:
transform in interface ClassFileTransformer
Throws:
IllegalClassFormatException


Copyright © 2012. All Rights Reserved.