Class JClass
java.lang.Object
org.codehaus.modello.plugin.java.javasource.JType
org.codehaus.modello.plugin.java.javasource.JStructure
org.codehaus.modello.plugin.java.javasource.JClass
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.
- Version:
- $Revision$ $Date$
- Author:
- Keith Visco, Martin Skopp
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addConstructor
(JConstructor constructor) Adds the given Constructor to this classes list of constructors.void
Adds the given JField to this JClassvoid
addMember
(org.codehaus.modello.plugin.java.javasource.JMember jMember) Adds the given JMember to this JClassvoid
Adds the given JMethod to this JClassvoid
Adds the given JMethod to this JClassvoid
addMethods
(JMethod[] jMethods) Adds the given array of JMethods to this JClassvoid
addSourceCode
(String sourceCode) Creates a new JConstructor and adds it to this JClass.createConstructor
(JParameter[] params) Creates a new JConstructor and adds it to this JClass.createInnerClass
(String localname) Creates and returns an inner-class for this JClassgetConstructor
(int index) Returns the constructor at the specified index.Returns the an array of the JConstructors contained within this JClassReturns the member with the given name, or null if no member was found with the given nameJField[]
Returns an array of all the JFields of this JClassJClass[]
Returns an array of JClass (the inner classes) contained within this JClass.getMethod
(int index) Returns the JMethod located at the specified indexReturns the first occurrence of the method with the given name, starting from the specified index.JMethod[]
Returns an array of all the JMethods of this JClassReturns the JSourceCode for the static initializer of this JClassGets the super Class that this class extendsvoid
print
(JSourceWriter jsw) Prints the source code for this JClass to the given JSourceWritervoid
print
(JSourceWriter jsw, boolean classOnly) Prints the source code for this JClass to the given JSourceWriterboolean
removeConstructor
(JConstructor constructor) Removes the given constructor from this JClassremoveField
(String name) Removes the field with the given name from this JClassboolean
removeField
(JField jField) Removes the given JField from this JClassboolean
removeInnerClass
(JClass jClass) Removes the given inner-class (JClass) from this JClass.void
setSuperClass
(String superClass) Sets the super Class that this class extendsMethods inherited from class org.codehaus.modello.plugin.java.javasource.JStructure
addImport, addInterface, addInterface, appendAnnotation, getAnnotations, getFilename, getHeader, getImports, getInterfaceCount, getInterfaces, getJDocComment, getModifiers, getName, getPackageFromClassName, getPackageName, hasImport, isAbstract, isValidClassName, print, print, printHeader, printImportDeclarations, printlnWithPrefix, printPackageDeclaration, removeImport, setAnnotations, setHeader
Methods inherited from class org.codehaus.modello.plugin.java.javasource.JType
changePackage, createArray, getComponentType, getLocalName, getName, isArray, isPrimitive, toString
-
Constructor Details
-
JClass
Creates a new JClass with the given name- Parameters:
name
- the name of the JClass to create- Throws:
IllegalArgumentException
- when the given name is not a valid Class name
-
-
Method Details
-
addConstructor
Adds the given Constructor to this classes list of constructors. The constructor must have been created with this JClass' createConstructor.- Parameters:
constructor
- a constructor- Throws:
IllegalArgumentException
- ifconstructor
isnull
or invalid.
-
addField
Adds the given JField to this JClass- Specified by:
addField
in classJStructure
- Parameters:
jField
- , the JField to add- Throws:
IllegalArgumentException
- when the given JField has a name of an existing JField
-
addMember
public void addMember(org.codehaus.modello.plugin.java.javasource.JMember jMember) throws IllegalArgumentException Adds the given JMember to this JClass- Specified by:
addMember
in classJStructure
- Parameters:
jMember
- , the JMember to add- Throws:
IllegalArgumentException
- when the given JMember has the same name of an existing JField or JMethod respectively, or if the JMember is of an unrecognized class.
-
addMethod
Adds the given JMethod to this JClass- Parameters:
jMethod
- the JMethod to add
-
addMethod
Adds the given JMethod to this JClass- Parameters:
jMethod
- , the JMethod to addimportReturnType
- 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.- Throws:
IllegalArgumentException
- when the given JMethod has the same name of an existing JMethod.
-
addMethods
Adds the given array of JMethods to this JClass- Parameters:
jMethods
- , the JMethod[] to add- Throws:
IllegalArgumentException
- when any of the given JMethods has the same name of an existing JMethod.
-
createConstructor
Creates a new JConstructor and adds it to this JClass.- Returns:
- the newly created constructor
-
createConstructor
Creates a new JConstructor and adds it to this JClass.- Parameters:
params
- the parameters- Returns:
- the newly created constructor
-
createInnerClass
Creates and returns an inner-class for this JClass- Parameters:
localname
- the name of the class (no package name)- Returns:
- the new JClass
-
getConstructor
Returns the constructor at the specified index.- Parameters:
index
- the index of the constructor to return- Returns:
- the JConstructor at the specified index.
-
getConstructors
Returns the an array of the JConstructors contained within this JClass- Returns:
- an array of JConstructor
-
getField
Returns the member with the given name, or null if no member was found with the given name- Specified by:
getField
in classJStructure
- Parameters:
name
- the name of the member to return- Returns:
- the member with the given name, or null if no member was found with the given name
-
getFields
Returns an array of all the JFields of this JClass- Specified by:
getFields
in classJStructure
- Returns:
- an array of all the JFields of this JClass
-
getInnerClasses
Returns an array of JClass (the inner classes) contained within this JClass.- Returns:
- an array of JClass contained within this JClass
-
getMethods
Returns an array of all the JMethods of this JClass- Returns:
- an array of all the JMethods of this JClass
-
getMethod
Returns the first occurrence of the method with the given name, starting from the specified index.- Parameters:
name
- the name of the method to look forstartIndex
- the starting index to begin the search- Returns:
- the method if found, otherwise null.
-
getMethod
Returns the JMethod located at the specified index- Parameters:
index
- the index of the JMethod to return.- Returns:
- the JMethod
-
getStaticInitializationCode
Returns the JSourceCode for the static initializer of this JClass- Returns:
- the JSourceCode for the static initializer of this JClass
-
getSuperClass
Gets the super Class that this class extends- Returns:
- superClass the super Class that this Class extends
-
print
Prints the source code for this JClass to the given JSourceWriter- Specified by:
print
in classJStructure
- Parameters:
jsw
- the JSourceWriter to print to. [May not be null]
-
print
Prints the source code for this JClass to the given JSourceWriter- Parameters:
jsw
- the JSourceWriter to print to. [May not be null]classOnly
- whether the header, package and imports should be printed too
-
addSourceCode
-
removeConstructor
Removes the given constructor from this JClass- Parameters:
constructor
- the JConstructor to remove- Returns:
- true if the constructor was removed, otherwise false.
-
removeField
Removes the field with the given name from this JClass- Parameters:
name
- the name of the field to remove- Returns:
- the removed field
-
removeField
Removes the given JField from this JClass- Parameters:
jField
- , the JField to remove- Returns:
- {
true
if and only if the field was successfully removed
-
removeInnerClass
Removes the given inner-class (JClass) from this JClass.- Parameters:
jClass
- the JClass (inner-class) to remove.- Returns:
- true if the JClass was removed, otherwise false.
-
setSuperClass
Sets the super Class that this class extends- Parameters:
superClass
- the super Class that this Class extends
-