jodd.proxetta.impl.InvokeProxettaBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jodd-proxetta Show documentation
Show all versions of jodd-proxetta Show documentation
Jodd Proxetta is the fastest proxy creator with unique approach for defying pointcuts and advices.
// Copyright (c) 2003-2014, Jodd Team (jodd.org). All Rights Reserved.
package jodd.proxetta.impl;
import jodd.proxetta.ProxettaBuilder;
import jodd.proxetta.asm.InvokeClassBuilder;
import jodd.proxetta.asm.TargetClassInfoReader;
import jodd.proxetta.asm.WorkData;
import jodd.asm5.ClassReader;
import java.io.InputStream;
/**
* Invocation replacer class processor.
*/
public class InvokeProxettaBuilder extends ProxettaBuilder {
protected final InvokeProxetta invokeProxetta;
public InvokeProxettaBuilder(InvokeProxetta invokeProxetta) {
super(invokeProxetta);
this.invokeProxetta = invokeProxetta;
}
@Override
public void setTarget(InputStream target) {
super.setTarget(target);
}
@Override
public void setTarget(String targetName) {
super.setTarget(targetName);
}
@Override
public void setTarget(Class target) {
super.setTarget(target);
}
/**
* {@inheritDoc}
*/
@Override
protected WorkData process(ClassReader cr, TargetClassInfoReader targetClassInfoReader) {
InvokeClassBuilder icb = new InvokeClassBuilder(
destClassWriter,
invokeProxetta.getAspects(),
resolveClassNameSuffix(),
requestedProxyClassName,
targetClassInfoReader);
cr.accept(icb, 0);
return icb.getWorkData();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy