| java.lang.Object javassist.CtMember javassist.CtBehavior javassist.CtConstructor
CtConstructor | final public class CtConstructor extends CtBehavior (Code) | | An instance of CtConstructor represents a constructor.
It may represent a static constructor
(class initializer). To distinguish a constructor and a class
initializer, call isClassInitializer() .
See the super class CtBehavior as well since
a number of useful methods are in CtBehavior .
See Also: CtClass.getDeclaredConstructors See Also: CtClass.getClassInitializer See Also: CtNewConstructor |
Constructor Summary | |
protected | CtConstructor(MethodInfo minfo, CtClass declaring) | public | CtConstructor(CtClass[] parameters, CtClass declaring) Creates a constructor with no constructor body. | public | CtConstructor(CtConstructor src, CtClass declaring, ClassMap map) Creates a copy of a CtConstructor object.
The created constructor must be
added to a class with CtClass.addConstructor() .
All occurrences of class names in the created constructor
are replaced with names specified by
map if map is not null .
By default, all the occurrences of the names of the class
declaring src and the superclass are replaced
with the name of the class and the superclass that
the created constructor is added to.
This is done whichever map is null or not.
To prevent this replacement, call ClassMap.fix() .
Note: if the .class notation (for example,
String.class ) is included in an expression, the
Javac compiler may produce a helper method.
Since this constructor never
copies this helper method, the programmers have the responsiblity of
copying it. |
Method Summary | |
public boolean | callsSuper() Returns true if this constructor calls a constructor
of the super class. | public String | getName() Obtains the name of this constructor.
It is the same as the simple name of the class declaring this
constructor. | int | getStartPosOfBody(CodeAttribute ca) | public void | insertBeforeBody(String src) Inserts bytecode just after another constructor in the super class
or this class is called. | public boolean | isClassInitializer() Returns true if this object represents a static initializer. | public boolean | isConstructor() Returns true if this object represents a constructor. | public boolean | isEmpty() Returns true if the constructor (or static initializer)
is the default one. | public void | setBody(String src) Sets a constructor body. | public void | setBody(CtConstructor src, ClassMap map) Copies a constructor body from another constructor. | public CtMethod | toMethod(String name, CtClass declaring) Makes a copy of this constructor and converts it into a method.
The signature of the mehtod is the same as the that of this constructor.
The return type is void . | public CtMethod | toMethod(String name, CtClass declaring, ClassMap map) Makes a copy of this constructor and converts it into a method.
The signature of the mehtod is the same as the that of this constructor.
The return type is void . |
CtConstructor | public CtConstructor(CtConstructor src, CtClass declaring, ClassMap map) throws CannotCompileException(Code) | | Creates a copy of a CtConstructor object.
The created constructor must be
added to a class with CtClass.addConstructor() .
All occurrences of class names in the created constructor
are replaced with names specified by
map if map is not null .
By default, all the occurrences of the names of the class
declaring src and the superclass are replaced
with the name of the class and the superclass that
the created constructor is added to.
This is done whichever map is null or not.
To prevent this replacement, call ClassMap.fix() .
Note: if the .class notation (for example,
String.class ) is included in an expression, the
Javac compiler may produce a helper method.
Since this constructor never
copies this helper method, the programmers have the responsiblity of
copying it. Otherwise, use Class.forName() in the
expression.
Parameters: src - the source method. Parameters: declaring - the class to which the created method is added. Parameters: map - the hashtable associating original class nameswith substituted names.It can be null . See Also: CtClass.addConstructor(CtConstructor) See Also: ClassMap.fix(String) |
callsSuper | public boolean callsSuper() throws CannotCompileException(Code) | | Returns true if this constructor calls a constructor
of the super class. This method returns false if it
calls another constructor of this class by this() .
|
getName | public String getName()(Code) | | Obtains the name of this constructor.
It is the same as the simple name of the class declaring this
constructor. If this object represents a class initializer,
then this method returns "<clinit>" .
|
insertBeforeBody | public void insertBeforeBody(String src) throws CannotCompileException(Code) | | Inserts bytecode just after another constructor in the super class
or this class is called.
It does not work if this object represents a class initializer.
Parameters: src - the source code representing the inserted bytecode.It must be a single statement or block. |
isClassInitializer | public boolean isClassInitializer()(Code) | | Returns true if this object represents a static initializer.
|
isConstructor | public boolean isConstructor()(Code) | | Returns true if this object represents a constructor.
|
isEmpty | public boolean isEmpty()(Code) | | Returns true if the constructor (or static initializer)
is the default one. This method returns true if the constructor
takes some arguments but it does not perform anything except
calling super() (the no-argument constructor of
the super class).
|
setBody | public void setBody(String src) throws CannotCompileException(Code) | | Sets a constructor body.
Parameters: src - the source code representing the constructor body.It must be a single statement or block.If it is null , the substitutedconstructor body does nothing except callingsuper() . |
setBody | public void setBody(CtConstructor src, ClassMap map) throws CannotCompileException(Code) | | Copies a constructor body from another constructor.
All occurrences of the class names in the copied body
are replaced with the names specified by
map if map is not null .
Parameters: src - the method that the body is copied from. Parameters: map - the hashtable associating original class nameswith substituted names.It can be null . |
toMethod | public CtMethod toMethod(String name, CtClass declaring) throws CannotCompileException(Code) | | Makes a copy of this constructor and converts it into a method.
The signature of the mehtod is the same as the that of this constructor.
The return type is void . The resulting method must be
appended to the class specified by declaring .
If this constructor is a static initializer, the resulting method takes
no parameter.
An occurrence of another constructor call this()
or a super constructor call super() is
eliminated from the resulting method.
The immediate super class of the class declaring this constructor
must be also a super class of the class declaring the resulting method.
If the constructor accesses a field, the class declaring the resulting method
must also declare a field with the same name and type.
Parameters: name - the name of the resulting method. Parameters: declaring - the class declaring the resulting method. |
toMethod | public CtMethod toMethod(String name, CtClass declaring, ClassMap map) throws CannotCompileException(Code) | | Makes a copy of this constructor and converts it into a method.
The signature of the mehtod is the same as the that of this constructor.
The return type is void . The resulting method must be
appended to the class specified by declaring .
If this constructor is a static initializer, the resulting method takes
no parameter.
An occurrence of another constructor call this()
or a super constructor call super() is
eliminated from the resulting method.
The immediate super class of the class declaring this constructor
must be also a super class of the class declaring the resulting method.
If the constructor accesses a field, the class declaring the resulting method
must also declare a field with the same name and type.
Parameters: name - the name of the resulting method. Parameters: declaring - the class declaring the resulting method. Parameters: map - the hash table associating original class nameswith substituted names. The original class names will bereplaced while making a copy.map can be null . |
Methods inherited from javassist.CtBehavior | public void addCatch(String src, CtClass exceptionType) throws CannotCompileException(Code)(Java Doc) public void addCatch(String src, CtClass exceptionType, String exceptionName) throws CannotCompileException(Code)(Java Doc) public void addLocalVariable(String name, CtClass type) throws CannotCompileException(Code)(Java Doc) void copy(CtBehavior src, boolean isCons, ClassMap map) throws CannotCompileException(Code)(Java Doc) protected void extendToString(StringBuffer buffer)(Code)(Java Doc) public Object[] getAnnotations() throws ClassNotFoundException(Code)(Java Doc) public byte[] getAttribute(String name)(Code)(Java Doc) public Object[] getAvailableAnnotations()(Code)(Java Doc) public Object[][] getAvailableParameterAnnotations()(Code)(Java Doc) public CtClass[] getExceptionTypes() throws NotFoundException(Code)(Java Doc) public MethodInfo getMethodInfo()(Code)(Java Doc) public MethodInfo getMethodInfo2()(Code)(Java Doc) public int getModifiers()(Code)(Java Doc) public Object[][] getParameterAnnotations() throws ClassNotFoundException(Code)(Java Doc) Object[][] getParameterAnnotations(boolean ignoreNotFound) throws ClassNotFoundException(Code)(Java Doc) public CtClass[] getParameterTypes() throws NotFoundException(Code)(Java Doc) CtClass getReturnType0() throws NotFoundException(Code)(Java Doc) public String getSignature()(Code)(Java Doc) int getStartPosOfBody(CodeAttribute ca) throws CannotCompileException(Code)(Java Doc) public void insertAfter(String src) throws CannotCompileException(Code)(Java Doc) public void insertAfter(String src, boolean asFinally) throws CannotCompileException(Code)(Java Doc) public int insertAt(int lineNum, String src) throws CannotCompileException(Code)(Java Doc) public int insertAt(int lineNum, boolean modify, String src) throws CannotCompileException(Code)(Java Doc) public void insertBefore(String src) throws CannotCompileException(Code)(Java Doc) public void instrument(CodeConverter converter) throws CannotCompileException(Code)(Java Doc) public void instrument(ExprEditor editor) throws CannotCompileException(Code)(Java Doc) abstract public boolean isEmpty()(Code)(Java Doc) public void setAttribute(String name, byte[] data)(Code)(Java Doc) public void setBody(String src) throws CannotCompileException(Code)(Java Doc) public void setBody(String src, String delegateObj, String delegateMethod) throws CannotCompileException(Code)(Java Doc) static void setBody0(CtClass srcClass, MethodInfo srcInfo, CtClass destClass, MethodInfo destInfo, ClassMap map) throws CannotCompileException(Code)(Java Doc) public void setExceptionTypes(CtClass[] types) throws NotFoundException(Code)(Java Doc) public void setModifiers(int mod)(Code)(Java Doc) public void useCflow(String name) throws CannotCompileException(Code)(Java Doc)
|
|
|