public class PCClassFileTransformer extends Object implements ClassFileTransformer
PersistenceCapable
interface at runtime.Modifier and Type | Class and Description |
---|---|
static class |
PCClassFileTransformer.Reentrant |
Constructor and Description |
---|
PCClassFileTransformer(MetaDataRepository repos,
Options opts,
ClassLoader loader)
Constructor.
|
PCClassFileTransformer(MetaDataRepository repos,
PCEnhancer.Flags flags,
ClassLoader tmpLoader,
boolean devscan)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
static PCClassFileTransformer |
newInstance(MetaDataRepository repos,
Options parseProperties,
ClassLoader tmpLoader) |
byte[] |
transform(ClassLoader loader,
String className,
Class redef,
ProtectionDomain domain,
byte[] bytes) |
protected byte[] |
transform0(String className,
Class redef,
byte[] bytes)
We have to split the transform method into two methods to avoid
ClassCircularityError when executing method using pure-JIT JVMs
such as JRockit.
|
public PCClassFileTransformer(MetaDataRepository repos, Options opts, ClassLoader loader)
repos
- metadata repository to use internallyopts
- enhancer configuration optionsloader
- temporary class loader for loading intermediate classespublic PCClassFileTransformer(MetaDataRepository repos, PCEnhancer.Flags flags, ClassLoader tmpLoader, boolean devscan)
repos
- metadata repository to use internallyflags
- enhancer configurationtmpLoader
- temporary class loader for loading intermediate classesdevscan
- whether to scan the dev classpath for persistent types
if none are configuredpublic static PCClassFileTransformer newInstance(MetaDataRepository repos, Options parseProperties, ClassLoader tmpLoader)
public byte[] transform(ClassLoader loader, String className, Class redef, ProtectionDomain domain, byte[] bytes) throws IllegalClassFormatException
transform
in interface ClassFileTransformer
IllegalClassFormatException
protected byte[] transform0(String className, Class redef, byte[] bytes) throws IllegalClassFormatException
IllegalClassFormatException
Copyright © 2006–2022 Apache Software Foundation. All rights reserved.