classUtils.javassist
Class CtField

java.lang.Object
  extended by classUtils.javassist.CtMember
      extended by classUtils.javassist.CtField
Direct Known Subclasses:
Javac.CtFieldWithInit

public class CtField
extends CtMember

An instance of CtField represents a field.

See Also:
CompileTimeClass.getDeclaredFields()

Nested Class Summary
static class CtField.Initializer
          Instances of this class specify how to initialize a field.
 
Constructor Summary
CtField(CompileTimeClass type, java.lang.String name, CompileTimeClass declaring)
          Creates a CtField object.
CtField(CtField src, CompileTimeClass declaring)
          Creates a copy of the given field.
 
Method Summary
 byte[] getAttribute(java.lang.String name)
          Obtains an attribute with the given name.
 CompileTimeClass getDeclaringClass()
          Returns the class declaring the field.
 FieldInfo getFieldInfo()
          Returns the FieldInfo representing the field in the class file.
 FieldInfo getFieldInfo2()
          Undocumented method.
 int getModifiers()
          Returns the encoded modifiers of the field.
 java.lang.String getName()
          Returns the name of the field.
 CompileTimeClass getType()
          Returns the type of the field.
static CtField make(java.lang.String src, CompileTimeClass declaring)
          Compiles the given source code and creates a field.
 void setAttribute(java.lang.String name, byte[] data)
          Adds an attribute.
 void setModifiers(int mod)
          Sets the encoded modifiers of the field.
 void setName(java.lang.String newName)
          Changes the name of the field.
 void setType(CompileTimeClass clazz)
          Sets the type of the field.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CtField

public CtField(CompileTimeClass type,
               java.lang.String name,
               CompileTimeClass declaring)
        throws CannotCompileException
Creates a CtField object. The created field must be added to a class with CtClass.addField(). An initial value of the field is specified by a CtField.Initializer object.

If getter and setter methods are needed, call CtNewMethod.getter() and CtNewMethod.setter().

Parameters:
type - field type
name - field name
declaring - the class to which the field will be added.
Throws:
CannotCompileException
See Also:
CompileTimeClass.addField(CtField), CtNewMethod.getter(String,CtField), CtNewMethod.setter(String,CtField), CtField.Initializer

CtField

public CtField(CtField src,
               CompileTimeClass declaring)
        throws CannotCompileException
Creates a copy of the given field. The created field must be added to a class with CtClass.addField(). An initial value of the field is specified by a CtField.Initializer object.

If getter and setter methods are needed, call CtNewMethod.getter() and CtNewMethod.setter().

Parameters:
src - the original field
declaring - the class to which the field will be added.
Throws:
CannotCompileException
See Also:
CtNewMethod.getter(String,CtField), CtNewMethod.setter(String,CtField), CtField.Initializer
Method Detail

make

public static CtField make(java.lang.String src,
                           CompileTimeClass declaring)
                    throws CannotCompileException
Compiles the given source code and creates a field. Examples of the source code are:

Note that the source code ends with ';' (semicolon).

Parameters:
src - the source text.
declaring - the class to which the created field is added.
Throws:
CannotCompileException

getFieldInfo

public FieldInfo getFieldInfo()
Returns the FieldInfo representing the field in the class file.


getFieldInfo2

public FieldInfo getFieldInfo2()
Undocumented method. Do not use; internal-use only.


getDeclaringClass

public CompileTimeClass getDeclaringClass()
Returns the class declaring the field.

Overrides:
getDeclaringClass in class CtMember

getName

public java.lang.String getName()
Returns the name of the field.

Specified by:
getName in class CtMember

setName

public void setName(java.lang.String newName)
Changes the name of the field.


getModifiers

public int getModifiers()
Returns the encoded modifiers of the field.

Specified by:
getModifiers in class CtMember
Returns:
modifiers encoded with javassist.Modifier.
See Also:
Modifier

setModifiers

public void setModifiers(int mod)
Sets the encoded modifiers of the field.

Specified by:
setModifiers in class CtMember
See Also:
Modifier

getType

public CompileTimeClass getType()
                         throws NotFoundException
Returns the type of the field.

Throws:
NotFoundException

setType

public void setType(CompileTimeClass clazz)
Sets the type of the field.


getAttribute

public byte[] getAttribute(java.lang.String name)
Obtains an attribute with the given name. If that attribute is not found in the class file, this method returns null.

Specified by:
getAttribute in class CtMember
Parameters:
name - attribute name

setAttribute

public void setAttribute(java.lang.String name,
                         byte[] data)
Adds an attribute. The attribute is saved in the class file.

Specified by:
setAttribute in class CtMember
Parameters:
name - attribute name
data - attribute value