public abstract static class CtField.Initializer
extends java.lang.Object
Initializer
is passed to
CtClass.addField()
with a CtField
.
This class cannot be instantiated with the new
operator.
Factory methods such as byParameter()
and
byNew
must be used for the instantiation. They create a new instance with
the given parameters and return it.
Constructor and Description |
---|
Initializer() |
Modifier and Type | Method and Description |
---|---|
static CtField.Initializer |
byCall(CtClass methodClass,
java.lang.String methodName)
Makes an initializer calling a static method.
|
static CtField.Initializer |
byCall(CtClass methodClass,
java.lang.String methodName,
java.lang.String[] stringParams)
Makes an initializer calling a static method.
|
static CtField.Initializer |
byCallWithParams(CtClass methodClass,
java.lang.String methodName)
Makes an initializer calling a static method.
|
static CtField.Initializer |
byCallWithParams(CtClass methodClass,
java.lang.String methodName,
java.lang.String[] stringParams)
Makes an initializer calling a static method.
|
static CtField.Initializer |
byExpr(java.lang.String source)
Makes an initializer.
|
static CtField.Initializer |
byNew(CtClass objectType)
Makes an initializer creating a new object.
|
static CtField.Initializer |
byNew(CtClass objectType,
java.lang.String[] stringParams)
Makes an initializer creating a new object.
|
static CtField.Initializer |
byNewArray(CtClass type,
int size)
Makes an initializer creating a new array.
|
static CtField.Initializer |
byNewArray(CtClass type,
int[] sizes)
Makes an initializer creating a new multi-dimensional array.
|
static CtField.Initializer |
byNewWithParams(CtClass objectType)
Makes an initializer creating a new object.
|
static CtField.Initializer |
byNewWithParams(CtClass objectType,
java.lang.String[] stringParams)
Makes an initializer creating a new object.
|
static CtField.Initializer |
byParameter(int nth)
Makes an initializer using a constructor parameter.
|
static CtField.Initializer |
constant(boolean b)
Makes an initializer that assigns a constant boolean value.
|
static CtField.Initializer |
constant(double d)
Makes an initializer that assigns a constant double value.
|
static CtField.Initializer |
constant(float l)
Makes an initializer that assigns a constant float value.
|
static CtField.Initializer |
constant(int i)
Makes an initializer that assigns a constant integer value.
|
static CtField.Initializer |
constant(long l)
Makes an initializer that assigns a constant long value.
|
static CtField.Initializer |
constant(java.lang.String s)
Makes an initializer that assigns a constant string value.
|
public static CtField.Initializer constant(int i)
public static CtField.Initializer constant(boolean b)
public static CtField.Initializer constant(long l)
public static CtField.Initializer constant(float l)
public static CtField.Initializer constant(double d)
public static CtField.Initializer constant(java.lang.String s)
java.lang.String
type.public static CtField.Initializer byParameter(int nth)
The initial value is the N-th parameter given to the constructor of the object including the field. If the constructor takes less than N parameters, the field is not initialized. If the field is static, it is never initialized.
nth
- the n-th (>= 0) parameter is used as
the initial value.
If nth is 0, then the first parameter is
used.public static CtField.Initializer byNew(CtClass objectType)
This initializer creates a new object and uses it as the initial value of the field. The constructor of the created object receives the parameter:
Object obj
- the object including the field.
If the initialized field is static, then the constructor does not receive any parameters.
objectType
- the class instantiated for the initial value.public static CtField.Initializer byNew(CtClass objectType, java.lang.String[] stringParams)
This initializer creates a new object and uses it as the initial value of the field. The constructor of the created object receives the parameters:
Object obj
- the object including the field.
String[] strs
- the character strings specified
by stringParams
If the initialized field is static, then the constructor
receives only strs
.
objectType
- the class instantiated for the initial value.stringParams
- the array of strings passed to the
constructor.public static CtField.Initializer byNewWithParams(CtClass objectType)
This initializer creates a new object and uses it as the initial value of the field. The constructor of the created object receives the parameters:
Object obj
- the object including the field.
Object[] args
- the parameters passed to the
constructor of the object including the
filed.
If the initialized field is static, then the constructor does not receive any parameters.
objectType
- the class instantiated for the initial value.byNewArray(CtClass,int)
,
byNewArray(CtClass,int[])
public static CtField.Initializer byNewWithParams(CtClass objectType, java.lang.String[] stringParams)
This initializer creates a new object and uses it as the initial value of the field. The constructor of the created object receives the parameters:
Object obj
- the object including the field.
String[] strs
- the character strings specified
by stringParams
Object[] args
- the parameters passed to the
constructor of the object including the
filed.
If the initialized field is static, then the constructor receives
only strs
.
objectType
- the class instantiated for the initial value.stringParams
- the array of strings passed to the
constructor.public static CtField.Initializer byCall(CtClass methodClass, java.lang.String methodName)
This initializer calls a static method and uses the returned value as the initial value of the field. The called method receives the parameters:
Object obj
- the object including the field.
If the initialized field is static, then the method does not receive any parameters.
The type of the returned value must be the same as the field type.
methodClass
- the class that the static method is
declared in.methodName
- the name of the satic method.public static CtField.Initializer byCall(CtClass methodClass, java.lang.String methodName, java.lang.String[] stringParams)
This initializer calls a static method and uses the returned value as the initial value of the field. The called method receives the parameters:
Object obj
- the object including the field.
String[] strs
- the character strings specified
by stringParams
If the initialized field is static, then the method
receive only strs
.
The type of the returned value must be the same as the field type.
methodClass
- the class that the static method is
declared in.methodName
- the name of the satic method.stringParams
- the array of strings passed to the
static method.public static CtField.Initializer byCallWithParams(CtClass methodClass, java.lang.String methodName)
This initializer calls a static method and uses the returned value as the initial value of the field. The called method receives the parameters:
Object obj
- the object including the field.
Object[] args
- the parameters passed to the
constructor of the object including the
filed.
If the initialized field is static, then the method does not receive any parameters.
The type of the returned value must be the same as the field type.
methodClass
- the class that the static method is
declared in.methodName
- the name of the satic method.public static CtField.Initializer byCallWithParams(CtClass methodClass, java.lang.String methodName, java.lang.String[] stringParams)
This initializer calls a static method and uses the returned value as the initial value of the field. The called method receives the parameters:
Object obj
- the object including the field.
String[] strs
- the character strings specified
by stringParams
Object[] args
- the parameters passed to the
constructor of the object including the
filed.
If the initialized field is static, then the method
receive only strs
.
The type of the returned value must be the same as the field type.
methodClass
- the class that the static method is
declared in.methodName
- the name of the satic method.stringParams
- the array of strings passed to the
static method.public static CtField.Initializer byNewArray(CtClass type, int size) throws NotFoundException
type
- the type of the array.size
- the size of the array.NotFoundException
- if the type of the array components
is not found.public static CtField.Initializer byNewArray(CtClass type, int[] sizes)
type
- the type of the array.sizes
- an int
array of the size in every
dimension.
The first element is the size in the first
dimension. The second is in the second, etc.public static CtField.Initializer byExpr(java.lang.String source)
source
- initializer expression.Javassist, a Java-bytecode translator toolkit.
Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.