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.
  • Field Details

    • enhancer

      org.datanucleus.enhancer.DataNucleusEnhancer enhancer
  • Constructor Details

    • 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 Details

    • 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 JDOEnhancer addClass(String className, byte[] bytes)
      Specified by:
      addClass in interface javax.jdo.JDOEnhancer
    • addClasses

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

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

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

      public 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 JDOEnhancer setClassLoader(ClassLoader loader)
      Specified by:
      setClassLoader in interface javax.jdo.JDOEnhancer
    • setOutputDirectory

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

      public 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