Top Description Fields Constructors Methods
org.hibernate.bytecode.javassist

public Class FieldTransformer

extends Object
Class Inheritance
Imports
java.io.DataInputStream, .DataOutputStream, .File, .FileInputStream, .FileOutputStream, java.util.Iterator, .List, javassist.CannotCompileException, javassist.bytecode.AccessFlag, .BadBytecode, .Bytecode, .ClassFile, .CodeAttribute, .CodeIterator, .ConstPool, .Descriptor, .FieldInfo, .MethodInfo, .Opcode

The thing that handles actual class enhancement in regards to intercepting field accesses.
Authors
Muga Nishizawa, Steve Ebersole

Field Summary

Modifier and TypeField and Description
private static final String
private static final String
private static final String
private static final String
private FieldFilter
private static final String
private static final String
private static final String
private static final String
private static final String
private static final String

Constructor Summary

AccessConstructor and Description
public
public

Method Summary

Modifier and TypeMethod and Description
private void
private void
private void
private static void
addInvokeFieldHandlerMethod(ClassFile classfile, Bytecode code, String typeName, boolean isReadMethod)

private void
addReadMethod(ClassFile classfile, FieldInfo finfo)

private void
private void
private static void
addTypeDependDataLoad(Bytecode code, String typeName, int i)

private static void
private static void
addTypeDependDataStore(Bytecode code, String typeName, int i)

private void
public void
public void
public void
transform(ClassFile classfile)

private int
private void
private int
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

EACH_READ_METHOD_PREFIXback to summary
private static final String EACH_READ_METHOD_PREFIX
EACH_WRITE_METHOD_PREFIXback to summary
private static final String EACH_WRITE_METHOD_PREFIX
FIELD_HANDLED_TYPE_NAMEback to summary
private static final String FIELD_HANDLED_TYPE_NAME
FIELD_HANDLER_TYPE_NAMEback to summary
private static final String FIELD_HANDLER_TYPE_NAME
filterback to summary
private FieldFilter filter
GETFIELDHANDLER_METHOD_DESCRIPTORback to summary
private static final String GETFIELDHANDLER_METHOD_DESCRIPTOR
GETFIELDHANDLER_METHOD_NAMEback to summary
private static final String GETFIELDHANDLER_METHOD_NAME
HANDLER_FIELD_DESCRIPTORback to summary
private static final String HANDLER_FIELD_DESCRIPTOR
HANDLER_FIELD_NAMEback to summary
private static final String HANDLER_FIELD_NAME
SETFIELDHANDLER_METHOD_DESCRIPTORback to summary
private static final String SETFIELDHANDLER_METHOD_DESCRIPTOR
SETFIELDHANDLER_METHOD_NAMEback to summary
private static final String SETFIELDHANDLER_METHOD_NAME

Constructor Detail

FieldTransformerback to summary
public FieldTransformer()
FieldTransformerback to summary
public FieldTransformer(FieldFilter f)

Method Detail

addFieldHandledInterfaceback to summary
private void addFieldHandledInterface(ClassFile classfile)
addFieldHandlerFieldback to summary
private void addFieldHandlerField(ClassFile classfile) throws CannotCompileException
addGetFieldHandlerMethodback to summary
private void addGetFieldHandlerMethod(ClassFile classfile) throws CannotCompileException
addInvokeFieldHandlerMethodback to summary
private static void addInvokeFieldHandlerMethod(ClassFile classfile, Bytecode code, String typeName, boolean isReadMethod)
addReadMethodback to summary
private void addReadMethod(ClassFile classfile, FieldInfo finfo) throws CannotCompileException
addReadWriteMethodsback to summary
private void addReadWriteMethods(ClassFile classfile) throws CannotCompileException
addSetFieldHandlerMethodback to summary
private void addSetFieldHandlerMethod(ClassFile classfile) throws CannotCompileException
addTypeDependDataLoadback to summary
private static void addTypeDependDataLoad(Bytecode code, String typeName, int i)
addTypeDependDataReturnback to summary
private static void addTypeDependDataReturn(Bytecode code, String typeName)
addTypeDependDataStoreback to summary
private static void addTypeDependDataStore(Bytecode code, String typeName, int i)
addWriteMethodback to summary
private void addWriteMethod(ClassFile classfile, FieldInfo finfo) throws CannotCompileException
setFieldFilterback to summary
public void setFieldFilter(FieldFilter f)
transformback to summary
public void transform(File file) throws Exception
transformback to summary
public void transform(ClassFile classfile) throws Exception
transformInvokevirtualsIntoGetfieldsback to summary
private int transformInvokevirtualsIntoGetfields(ClassFile classfile, CodeIterator iter, int pos)
transformInvokevirtualsIntoPutAndGetfieldsback to summary
private void transformInvokevirtualsIntoPutAndGetfields(ClassFile classfile) throws CannotCompileException
transformInvokevirtualsIntoPutfieldsback to summary
private int transformInvokevirtualsIntoPutfields(ClassFile classfile, CodeIterator iter, int pos)