public class ProxettaWrapperClassBuilder extends ProxettaClassBuilder
Modifier and Type | Field and Description |
---|---|
protected boolean |
createTargetInDefaultCtor |
protected java.lang.Class |
targetClassOrInterface |
protected java.lang.String |
targetFieldName |
protected java.lang.Class |
targetInterface |
aspects, reqProxyClassName, suffix, targetClassInfo, wd
api, cv
Constructor and Description |
---|
ProxettaWrapperClassBuilder(java.lang.Class targetClassOrInterface,
java.lang.Class targetInterface,
java.lang.String targetFieldName,
ClassVisitor dest,
ProxyAspect[] aspects,
java.lang.String suffix,
java.lang.String reqProxyClassName,
TargetClassInfoReader targetClassInfoReader,
boolean createTargetInDefaultCtor) |
Modifier and Type | Method and Description |
---|---|
protected ProxettaMethodBuilder |
applyProxy(MethodSignatureVisitor msign)
Check if proxy should be applied on method and return proxy method builder if so.
|
protected void |
createEmptyCtor()
Created empty default constructor.
|
protected void |
createEmptyCtorThatCreatesTarget() |
protected void |
createSimpleMethodWrapper(MethodSignatureVisitor msign)
Creates simple method wrapper without proxy.
|
void |
visit(int version,
int access,
java.lang.String name,
java.lang.String signature,
java.lang.String superName,
java.lang.String[] interfaces)
Creates destination subclass header from current target class.
|
void |
visitEnd()
Finalizes creation of destination proxy class.
|
MethodVisitor |
visitMethod(int access,
java.lang.String name,
java.lang.String desc,
java.lang.String signature,
java.lang.String[] exceptions)
Creates proxified methods and constructors.
|
getWorkData, makeProxyConstructor, makeStaticInitBlock, matchMethodPointcuts, processSuperMethods, visitAnnotation, visitAttribute, visitField, visitInnerClass, visitOuterClass, visitSource
visitModule, visitNestHost, visitNestMember, visitTypeAnnotation
protected final java.lang.Class targetClassOrInterface
protected final java.lang.Class targetInterface
protected final java.lang.String targetFieldName
protected final boolean createTargetInDefaultCtor
public ProxettaWrapperClassBuilder(java.lang.Class targetClassOrInterface, java.lang.Class targetInterface, java.lang.String targetFieldName, ClassVisitor dest, ProxyAspect[] aspects, java.lang.String suffix, java.lang.String reqProxyClassName, TargetClassInfoReader targetClassInfoReader, boolean createTargetInDefaultCtor)
public void visit(int version, int access, java.lang.String name, java.lang.String signature, java.lang.String superName, java.lang.String[] interfaces)
visit
in class ProxettaClassBuilder
version
- the class version. The minor version is stored in the 16 most significant bits,
and the major version in the 16 least significant bits.access
- the class's access flags (see Opcodes
). This parameter also indicates if
the class is deprecated.name
- the internal name of the class (see Type.getInternalName()
).signature
- the signature of this class. May be null if the class is not a
generic one, and does not extend or implement generic classes or interfaces.superName
- the internal of name of the super class (see Type.getInternalName()
).
For interfaces, the super class is Object
. May be null, but only for the
Object
class.interfaces
- the internal names of the class's interfaces (see Type.getInternalName()
). May be null.protected void createEmptyCtor()
protected void createEmptyCtorThatCreatesTarget()
public MethodVisitor visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
ProxettaCtorBuilder
.
Static initializers are removed, since they will be execute in target anyway.
For each method, ProxettaMethodBuilder
determines if method matches pointcut. If so, method will be proxified.visitMethod
in class ProxettaClassBuilder
access
- the method's access flags (see Opcodes
). This parameter also indicates if
the method is synthetic and/or deprecated.name
- the method's name.desc
- the method's descriptor (see Type
).signature
- the method's signature. May be null if the method parameters,
return type and exceptions do not use generic types.exceptions
- the internal names of the method's exception classes (see Type.getInternalName()
). May be null.protected ProxettaMethodBuilder applyProxy(MethodSignatureVisitor msign)
ProxettaClassBuilder
null
.applyProxy
in class ProxettaClassBuilder
protected void createSimpleMethodWrapper(MethodSignatureVisitor msign)
public void visitEnd()
ProxettaClassBuilder
visitEnd
in class ProxettaClassBuilder
Copyright © 2003-present Jodd Team