Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.aop.instrument
Class GeneratedAdvisorFieldAccessTransformer

    java.lang.Object
      org.jboss.aop.instrument.FieldAccessTransformer
          org.jboss.aop.instrument.GeneratedAdvisorFieldAccessTransformer

All Implemented Interfaces:
  org.jboss.aop.instrument.CodeConversionObserver

public class GeneratedAdvisorFieldAccessTransformer
extends FieldAccessTransformer

Comment

Version:
  $Revision$
Author:
  Kabir Khan

Nested Class Summary
`protected class` | `GeneratedAdvisorFieldAccessTransformer.GeneratedAdvisorFieldAccessExprEditor`

Nested classes inherited from class org.jboss.aop.instrument.FieldAccessTransformer
`FieldAccessTransformer.FieldAccessExprEditor`

Field Summary

Fields inherited from class org.jboss.aop.instrument.FieldAccessTransformer
`GET_INDEX, SET_INDEX, transformations, wrapper`

Constructor Summary
`GeneratedAdvisorFieldAccessTransformer(Instrumentor instrumentor)`

Method Summary
`protected String` | `addFieldReadInfoFieldToGeneratedAdvisor(javassist.CtField field, int index)`
`protected String` | `addFieldWriteInfoFieldToGeneratedAdvisor(javassist.CtField field, int index)`
`protected boolean` | `addInfoAsWeakReference()`
`static String` | `advisorFieldRead(javassist.CtClass genadvisor, String fieldName)`
`static String` | `advisorFieldWrite(javassist.CtClass genadvisor, String fieldName)`
`protected void` | `buildWrapperPlaceHolders(javassist.CtClass clazz, javassist.CtField field, boolean doGet, boolean doSet, int mod)` Generate the wrapper place holders.
`protected void` | `doBuildFieldWrappers(javassist.CtClass clazz, javassist.CtField field, int index, JoinpointClassification classificationGet, JoinpointClassification classificationSet)`
`protected String` | `getWrapperBody(javassist.CtClass clazz, javassist.CtField field, boolean get, int fieldIndex)` Returns the wrapper body of the `field` joinpoint.
`protected void` | `replaceFieldAccessInternally(javassist.CtClass clazz, javassist.CtField field, boolean doGet, boolean doSet, int index)` This function replaces internal field accesses with bytecode hooks into framework todo this must do it for inherited protected/public fields as well

Methods inherited from class org.jboss.aop.instrument.FieldAccessTransformer
`addFieldReadInfoFieldWithAccessors, addFieldReadInfoFieldWithAccessors, addFieldWriteInfoField, addFieldWriteInfoField, buildFieldWrappers, buildReadWrapperPlaceHolder, buildWriteWrapperPlaceHolder, codeConverted, fieldInfoFromWeakReference, fieldOffset, fieldRead, fieldWrite, getFieldReadInfoFieldName, getFieldWriteInfoFieldName, getStaticModifiers, getWrapperReadMethod, getWrapperWriteMethod, isPrepared, replaceFieldAccess, unwrap, wrap`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### GeneratedAdvisorFieldAccessTransformer

    public GeneratedAdvisorFieldAccessTransformer(Instrumentor instrumentor)

Method Detail

### doBuildFieldWrappers

    protected void doBuildFieldWrappers(javassist.CtClass clazz,
                                        javassist.CtField field,
                                        int index,
                                        JoinpointClassification classificationGet,
                                        JoinpointClassification classificationSet)
                                 throws javassist.NotFoundException,
                                        javassist.CannotCompileException

  Specified by:
    `doBuildFieldWrappers` in class `FieldAccessTransformer`
  Throws:
    `javassist.NotFoundException`
    `javassist.CannotCompileException`

### addFieldReadInfoFieldToGeneratedAdvisor

    protected String addFieldReadInfoFieldToGeneratedAdvisor(javassist.CtField field,
                                                             int index)
                                                      throws javassist.NotFoundException,
                                                             javassist.CannotCompileException

  Throws:
    `javassist.NotFoundException`
    `javassist.CannotCompileException`

### addInfoAsWeakReference

    protected boolean addInfoAsWeakReference()

  Overrides:
    `addInfoAsWeakReference` in class `FieldAccessTransformer`

### addFieldWriteInfoFieldToGeneratedAdvisor

    protected String addFieldWriteInfoFieldToGeneratedAdvisor(javassist.CtField field,
                                                              int index)
                                                       throws javassist.NotFoundException,
                                                              javassist.CannotCompileException

  Throws:
    `javassist.NotFoundException`
    `javassist.CannotCompileException`

### buildWrapperPlaceHolders

    protected void buildWrapperPlaceHolders(javassist.CtClass clazz,
                                            javassist.CtField field,
                                            boolean doGet,
                                            boolean doSet,
                                            int mod)
                                     throws javassist.NotFoundException,
                                            javassist.CannotCompileException

  Description copied from class: `FieldAccessTransformer`
  Generate the wrapper place holders.

  PS: Removed from inside inner classes to avoid code repetition.

  Overrides:
    `buildWrapperPlaceHolders` in class `FieldAccessTransformer`
  Throws:
    `javassist.NotFoundException`
    `javassist.CannotCompileException`

### advisorFieldRead

    public static String advisorFieldRead(javassist.CtClass genadvisor,
                                          String fieldName)

### advisorFieldWrite

    public static String advisorFieldWrite(javassist.CtClass genadvisor,
                                           String fieldName)

### getWrapperBody

    protected String getWrapperBody(javassist.CtClass clazz,
                                    javassist.CtField field,
                                    boolean get,
                                    int fieldIndex)
                             throws javassist.NotFoundException,
                                    javassist.CannotCompileException

  Description copied from class: `FieldAccessTransformer`
  Returns the wrapper body of the `field` joinpoint.

  Specified by:
    `getWrapperBody` in class `FieldAccessTransformer`
  Parameters:
    `clazz` - the class declaring `field`.
    `field` - the field whose joinpoint wrapper code will be generated.
    `get` - indicates if the wrapper is a field read wrapper or a field write wrapper.
    `fieldIndex` - the index of `field`.
  Returns:
    teh wrapper body code.
  Throws:
    `javassist.NotFoundException`
    `javassist.CannotCompileException`

### replaceFieldAccessInternally

    protected void replaceFieldAccessInternally(javassist.CtClass clazz,
                                                javassist.CtField field,
                                                boolean doGet,
                                                boolean doSet,
                                                int index)
                                         throws javassist.CannotCompileException

  Description copied from class: `FieldAccessTransformer`
  This function replaces internal field accesses with bytecode hooks into framework todo this must do it for inherited protected/public fields as well

  Specified by:
    `replaceFieldAccessInternally` in class `FieldAccessTransformer`
  Parameters:
    `clazz` -
    `field` -
    `doGet` -
    `doSet` -
    `index` -
  Throws:
    `javassist.CannotCompileException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 JBoss Inc. All Rights Reserved.