A representation of the Java Source code for a Java Class. This is
a useful utility when creating in memory source code.
This package was modelled after the Java Reflection API
as much as possible to reduce the learning curve.
addConstructor
public void addConstructor(JConstructor constructor)
throws IllegalArgumentException
Adds the given Constructor to this classes list of constructors.
The constructor must have been created with this JClass'
createConstructor.
addField
public void addField(JField jField)
throws IllegalArgumentException
Adds the given JField to this JClass
- addField in interface org.codehaus.modello.generator.java.javasource.JStructure
addMember
public void addMember(org.codehaus.modello.generator.java.javasource.JMember jMember)
throws IllegalArgumentException
Adds the given JMember to this JClass
- addMember in interface org.codehaus.modello.generator.java.javasource.JStructure
addMethod
public void addMethod(JMethod jMethod)
Adds the given JMethod to this JClass
addMethod
public void addMethod(JMethod jMethod,
boolean importReturnType)
throws IllegalArgumentException
Adds the given JMethod to this JClass
importReturnType
- true if we add the importReturnType to
the class import lists. It could be useful to set it to false when
all types are fully qualified.
addMethods
public void addMethods(JMethod[] jMethods)
throws IllegalArgumentException
Adds the given array of JMethods to this JClass
addSourceCode
public void addSourceCode(String sourceCode)
createConstructor
public JConstructor createConstructor()
Creates a new JConstructor and adds it to this
JClass.
- the newly created constructor
createConstructor
public JConstructor createConstructor(JParameter[] params)
Creates a new JConstructor and adds it to this
JClass.
- the newly created constructor
createInnerClass
public JClass createInnerClass(String localname)
Creates and returns an inner-class for this JClass
localname
- the name of the class (no package name)
getConstructor
public JConstructor getConstructor(int index)
Returns the constructor at the specified index.
index
- the index of the constructor to return
- the JConstructor at the specified index.
getConstructors
public JConstructor[] getConstructors()
Returns the an array of the JConstructors contained within this JClass
getField
public JField getField(String name)
Returns the member with the given name, or null if no member
was found with the given name
- getField in interface org.codehaus.modello.generator.java.javasource.JStructure
name
- the name of the member to return
- the member with the given name, or null if no member
was found with the given name
getFields
public JField[] getFields()
Returns an array of all the JFields of this JClass
- getFields in interface org.codehaus.modello.generator.java.javasource.JStructure
- an array of all the JFields of this JClass
getInnerClasses
public JClass[] getInnerClasses()
Returns an array of JClass (the inner classes)
contained within this JClass.
- an array of JClass contained within this JClass
getMethod
public JMethod getMethod(String name,
int startIndex)
Returns the first occurance of the method with the
given name, starting from the specified index.
name
- the name of the method to look forstartIndex
- the starting index to begin the search
- the method if found, otherwise null.
getMethod
public JMethod getMethod(int index)
Returns the JMethod located at the specified index
index
- the index of the JMethod to return.
getMethods
public JMethod[] getMethods()
Returns an array of all the JMethods of this JClass
- an array of all the JMethods of this JClass
getStaticInitializationCode
public JSourceCode getStaticInitializationCode()
Returns the JSourceCode for the static initializer
of this JClass
- the JSourceCode for the static initializer
of this JClass
getSuperClass
public String getSuperClass()
Gets the super Class that this class extends
- superClass the super Class that this Class extends
main
public static void main(String[] args)
Test drive method...to be removed or commented out
print
public void print(JSourceWriter jsw)
Prints the source code for this JClass to the given JSourceWriter
- print in interface org.codehaus.modello.generator.java.javasource.JStructure
jsw
- the JSourceWriter to print to. [May not be null]
print
public void print(JSourceWriter jsw,
boolean classOnly)
Prints the source code for this JClass to the given JSourceWriter
jsw
- the JSourceWriter to print to. [May not be null]
removeConstructor
public boolean removeConstructor(JConstructor constructor)
Removes the given constructor from this JClass
constructor
- the JConstructor to remove
- true if the constructor was removed, otherwise false.
removeField
public JField removeField(String name)
Removes the field with the given name from this JClass
name
- the name of the field to remove
removeField
public boolean removeField(JField jField)
Removes the given JField from this JClass
removeInnerClass
public boolean removeInnerClass(JClass jClass)
Removes the given inner-class (JClass) from this JClass.
jClass
- the JClass (inner-class) to remove.
- true if the JClass was removed, otherwise false.
setSuperClass
public void setSuperClass(String superClass)
Sets the super Class that this class extends
superClass
- the super Class that this Class extends