org.apache.openjpa.enhance
Class PCClassFileTransformer

java.lang.Object
  extended by org.apache.openjpa.enhance.PCClassFileTransformer
All Implemented Interfaces:
java.lang.instrument.ClassFileTransformer

public class PCClassFileTransformer
extends java.lang.Object
implements java.lang.instrument.ClassFileTransformer

Transformer that makes persistent classes implement the PersistenceCapable interface at runtime.

Author:
Abe White

Constructor Summary
PCClassFileTransformer(org.apache.openjpa.meta.MetaDataRepository repos, org.apache.openjpa.lib.util.Options opts, java.lang.ClassLoader loader)
          Constructor.
PCClassFileTransformer(org.apache.openjpa.meta.MetaDataRepository repos, org.apache.openjpa.enhance.PCEnhancer.Flags flags, java.lang.ClassLoader tmpLoader, boolean devscan)
          Constructor.
 
Method Summary
 byte[] transform(java.lang.ClassLoader loader, java.lang.String className, java.lang.Class redef, java.security.ProtectionDomain domain, byte[] bytes)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PCClassFileTransformer

public PCClassFileTransformer(org.apache.openjpa.meta.MetaDataRepository repos,
                              org.apache.openjpa.lib.util.Options opts,
                              java.lang.ClassLoader loader)
Constructor.

Parameters:
repos - metadata repository to use internally
opts - enhancer configuration options
loader - temporary class loader for loading intermediate classes

PCClassFileTransformer

public PCClassFileTransformer(org.apache.openjpa.meta.MetaDataRepository repos,
                              org.apache.openjpa.enhance.PCEnhancer.Flags flags,
                              java.lang.ClassLoader tmpLoader,
                              boolean devscan)
Constructor.

Parameters:
repos - metadata repository to use internally
flags - enhancer configuration
loader - temporary class loader for loading intermediate classes
devscan - whether to scan the dev classpath for persistent types if none are configured
Method Detail

transform

public byte[] transform(java.lang.ClassLoader loader,
                        java.lang.String className,
                        java.lang.Class redef,
                        java.security.ProtectionDomain domain,
                        byte[] bytes)
                 throws java.lang.instrument.IllegalClassFormatException
Specified by:
transform in interface java.lang.instrument.ClassFileTransformer
Throws:
java.lang.instrument.IllegalClassFormatException


Copyright © 2006-2008 Apache Software Foundation. All Rights Reserved.