|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjodd.proxetta.asm.ClassProcessor
public abstract class ClassProcessor
Base class processor.
| Field Summary | |
|---|---|
protected java.lang.String |
classNameSuffix
|
protected org.objectweb.asm.ClassWriter |
destClassWriter
|
protected boolean |
proxyApplied
|
protected java.lang.String |
proxyClassName
|
protected static int |
suffixCounter
Number appended to proxy class name, incremented on each use to make classnames unique in the system (e.g. classloader). |
protected boolean |
useSuffix
|
| Constructor Summary | |
|---|---|
ClassProcessor()
|
|
| Method Summary | |
|---|---|
protected ClassProcessor |
accept(org.objectweb.asm.ClassReader cr,
java.lang.String reqProxyClassName)
Single point of class reader acceptance. |
ClassProcessor |
accept(java.lang.Class target,
java.lang.String reqProxyClassName)
|
ClassProcessor |
accept(java.io.InputStream in,
java.lang.String reqProxyClassName)
|
ClassProcessor |
accept(java.lang.String targetName,
java.lang.String reqProxyClassName)
|
protected void |
checkAccepted()
Checks if proxy is created and throws an exception if not. |
protected java.lang.String |
classNameSuffix()
Returns new suffix or null if suffix is not in use. |
java.lang.String |
getProxyClassName()
Returns proxy class name. |
boolean |
isProxyApplied()
Returns true if at least one method was wrapped. |
protected abstract jodd.proxetta.asm.WorkData |
process(org.objectweb.asm.ClassReader cr,
java.lang.String reqProxyClassName,
TargetClassInfoReader targetClassInfoReader)
Creates custom class builder and process the target class with it. |
void |
setClassNameSuffix(java.lang.String classNameSuffix)
Specifies class name suffix for created class. |
void |
setUseVariableClassName(boolean useVariableClassName)
Specifies class name will vary on each creation. |
byte[] |
toByteArray()
Returns raw bytecode. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static int suffixCounter
setUseVariableClassName(boolean)protected boolean useSuffix
protected java.lang.String classNameSuffix
protected org.objectweb.asm.ClassWriter destClassWriter
protected boolean proxyApplied
protected java.lang.String proxyClassName
| Constructor Detail |
|---|
public ClassProcessor()
| Method Detail |
|---|
public void setUseVariableClassName(boolean useVariableClassName)
java.lang.LinkageError: duplicate class definition.
public void setClassNameSuffix(java.lang.String classNameSuffix)
null
suffix is not used.
protected java.lang.String classNameSuffix()
null if suffix is not in use.
protected abstract jodd.proxetta.asm.WorkData process(org.objectweb.asm.ClassReader cr,
java.lang.String reqProxyClassName,
TargetClassInfoReader targetClassInfoReader)
protected ClassProcessor accept(org.objectweb.asm.ClassReader cr,
java.lang.String reqProxyClassName)
public ClassProcessor accept(java.io.InputStream in,
java.lang.String reqProxyClassName)
public ClassProcessor accept(java.lang.String targetName,
java.lang.String reqProxyClassName)
public ClassProcessor accept(java.lang.Class target,
java.lang.String reqProxyClassName)
protected void checkAccepted()
public byte[] toByteArray()
public boolean isProxyApplied()
true if at least one method was wrapped.
public java.lang.String getProxyClassName()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||