org.apache.cayenne.enhancer
Class AccessorVisitor

java.lang.Object
  extended by org.objectweb.asm.ClassAdapter
      extended by org.apache.cayenne.enhancer.AccessorVisitor
All Implemented Interfaces:
org.objectweb.asm.ClassVisitor
Direct Known Subclasses:
PersistentAccessorVisitor

public abstract class AccessorVisitor
extends org.objectweb.asm.ClassAdapter

An enhancer that adds interceptor code to the getters and setters.

Since:
3.0

Field Summary
 
Fields inherited from class org.objectweb.asm.ClassAdapter
cv
 
Constructor Summary
AccessorVisitor(org.objectweb.asm.ClassVisitor cw)
           
 
Method Summary
protected abstract  boolean isEnhancedProperty(String property)
           
protected abstract  boolean isLazyFaulted(String property)
           
static String propertyNameForGetter(String getterName)
           
static String propertyNameForSetter(String setterName)
           
 void visit(int version, int access, String name, String signature, String superName, String[] interfaces)
           
protected  org.objectweb.asm.MethodVisitor visitGetter(org.objectweb.asm.MethodVisitor mv, String property, org.objectweb.asm.Type propertyType)
           
 org.objectweb.asm.MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions)
           
protected  org.objectweb.asm.MethodVisitor visitSetter(org.objectweb.asm.MethodVisitor mv, String property, org.objectweb.asm.Type propertyType)
           
 
Methods inherited from class org.objectweb.asm.ClassAdapter
visitAnnotation, visitAttribute, visitEnd, visitField, visitInnerClass, visitOuterClass, visitSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AccessorVisitor

public AccessorVisitor(org.objectweb.asm.ClassVisitor cw)
Method Detail

propertyNameForGetter

public static String propertyNameForGetter(String getterName)

propertyNameForSetter

public static String propertyNameForSetter(String setterName)

isEnhancedProperty

protected abstract boolean isEnhancedProperty(String property)

isLazyFaulted

protected abstract boolean isLazyFaulted(String property)

visit

public void visit(int version,
                  int access,
                  String name,
                  String signature,
                  String superName,
                  String[] interfaces)
Specified by:
visit in interface org.objectweb.asm.ClassVisitor
Overrides:
visit in class org.objectweb.asm.ClassAdapter

visitGetter

protected org.objectweb.asm.MethodVisitor visitGetter(org.objectweb.asm.MethodVisitor mv,
                                                      String property,
                                                      org.objectweb.asm.Type propertyType)

visitSetter

protected org.objectweb.asm.MethodVisitor visitSetter(org.objectweb.asm.MethodVisitor mv,
                                                      String property,
                                                      org.objectweb.asm.Type propertyType)

visitMethod

public org.objectweb.asm.MethodVisitor visitMethod(int access,
                                                   String name,
                                                   String desc,
                                                   String signature,
                                                   String[] exceptions)
Specified by:
visitMethod in interface org.objectweb.asm.ClassVisitor
Overrides:
visitMethod in class org.objectweb.asm.ClassAdapter


Copyright © 2001-2009 Apache Cayenne. All Rights Reserved.