|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.modello.plugin.java.javasource.JType
org.codehaus.modello.plugin.java.javasource.JClass
public class 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.
Field Summary |
---|
Fields inherited from class org.codehaus.modello.plugin.java.javasource.JType |
---|
Boolean, Byte, Char, Double, Float, Int, Long, Short |
Constructor Summary | |
---|---|
JClass(java.lang.String name)
Creates a new JClass with the given name |
Method Summary | |
---|---|
void |
addConstructor(JConstructor constructor)
Adds the given Constructor to this classes list of constructors. |
void |
addField(JField jField)
Adds the given JField to this JClass |
void |
addImport(java.lang.String className)
Adds the given import to this JStructure |
void |
addInterface(JInterface jInterface)
Adds the given interface to the list of interfaces this JStructure inherits method declarations from, and either implements (JClass) or extends (JInterface). |
void |
addInterface(java.lang.String interfaceName)
Adds the given interface to the list of interfaces this JStructure inherits method declarations from, and either implements (JClass) or extends (JInterface). |
void |
addMember(org.codehaus.modello.plugin.java.javasource.JMember jMember)
Adds the given JMember to this JClass |
void |
addMethod(JMethod jMethod)
Adds the given JMethod to this JClass |
void |
addMethod(JMethod jMethod,
boolean importReturnType)
Adds the given JMethod to this JClass |
void |
addMethods(JMethod[] jMethods)
Adds the given array of JMethods to this JClass |
void |
addSourceCode(java.lang.String sourceCode)
|
JConstructor |
createConstructor()
Creates a new JConstructor and adds it to this JClass. |
JConstructor |
createConstructor(JParameter[] params)
Creates a new JConstructor and adds it to this JClass. |
JClass |
createInnerClass(java.lang.String localname)
Creates and returns an inner-class for this JClass |
JConstructor |
getConstructor(int index)
Returns the constructor at the specified index. |
JConstructor[] |
getConstructors()
Returns the an array of the JConstructors contained within this JClass |
JField |
getField(java.lang.String name)
Returns the member with the given name, or null if no member was found with the given name |
JField[] |
getFields()
Returns an array of all the JFields of this JClass |
java.lang.String |
getFilename(java.lang.String destDir)
Returns the name of the file that this JStructure would be printed to, given a call to #print. |
JComment |
getHeader()
Returns the JComment header to display at the top of the source file for this JStructure, or null if no header was set. |
java.util.Enumeration |
getImports()
Returns an Enumeration of imported package and class names for this JStructure. |
JClass[] |
getInnerClasses()
Returns an array of JClass (the inner classes) contained within this JClass. |
protected int |
getInterfaceCount()
|
java.util.Enumeration |
getInterfaces()
Returns an Enumeration of interface names that this JStructure inherits from. |
JDocComment |
getJDocComment()
Returns the Java Doc comment for this JStructure |
JMethod |
getMethod(int index)
Returns the JMethod located at the specified index |
JMethod |
getMethod(java.lang.String name,
int startIndex)
Returns the first occurance of the method with the given name, starting from the specified index. |
JMethod[] |
getMethods()
Returns an array of all the JMethods of this JClass |
JModifiers |
getModifiers()
Returns the JModifiers which allows the qualifiers to be changed. |
java.lang.String |
getName(boolean stripPackage)
Returns the name of the interface. |
protected static java.lang.String |
getPackageFromClassName(java.lang.String className)
Returns the package name from the given class name |
java.lang.String |
getPackageName()
Returns the name of the package that this JStructure is a member of. |
JSourceCode |
getStaticInitializationCode()
Returns the JSourceCode for the static initializer of this JClass |
java.lang.String |
getSuperClass()
Gets the super Class that this class extends |
boolean |
hasImport(java.lang.String classname)
Returns true if the given classname exists in the imports of this JStructure |
static boolean |
isValidClassName(java.lang.String name)
|
static void |
main(java.lang.String[] args)
Test drive method...to be removed or commented out |
void |
print()
Prints the source code for this JStructure in the current working directory. |
void |
print(JSourceWriter jsw)
Prints the source code for this JClass to the given JSourceWriter |
void |
print(JSourceWriter jsw,
boolean classOnly)
Prints the source code for this JClass to the given JSourceWriter |
void |
print(java.lang.String destDir,
java.lang.String lineSeparator)
Prints the source code for this JStructure to the destination directory. |
void |
printHeader(JSourceWriter jsw)
A utility method that prints the header to the given JSourceWriter |
void |
printImportDeclarations(JSourceWriter jsw)
A utility method that prints the imports to the given JSourceWriter |
protected static void |
printlnWithPrefix(java.lang.String prefix,
java.lang.String source,
JSourceWriter jsw)
Prints the given source string to the JSourceWriter using the given prefix at the beginning of each new line. |
void |
printPackageDeclaration(JSourceWriter jsw)
A utility method that prints the packageDeclaration to the given JSourceWriter |
boolean |
removeConstructor(JConstructor constructor)
Removes the given constructor from this JClass |
boolean |
removeField(JField jField)
Removes the given JField from this JClass |
JField |
removeField(java.lang.String name)
Removes the field with the given name from this JClass |
boolean |
removeImport(java.lang.String className)
|
boolean |
removeInnerClass(JClass jClass)
Removes the given inner-class (JClass) from this JClass. |
void |
setHeader(JComment comment)
Sets the header comment for this JStructure |
void |
setPackageName(java.lang.String packageName)
Allows changing the package name of this JStructure |
void |
setSuperClass(java.lang.String superClass)
Sets the super Class that this class extends |
Methods inherited from class org.codehaus.modello.plugin.java.javasource.JType |
---|
changePackage, createArray, getComponentType, getLocalName, getName, isArray, isPrimitive, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public JClass(java.lang.String name) throws java.lang.IllegalArgumentException
name
- the name of the JClass to create
java.lang.IllegalArgumentException
- when the given name
is not a valid Class nameMethod Detail |
---|
public void addConstructor(JConstructor constructor) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public void addField(JField jField) throws java.lang.IllegalArgumentException
jField,
- the JField to add
java.lang.IllegalArgumentException
- when the given
JField has a name of an existing JFieldpublic void addMember(org.codehaus.modello.plugin.java.javasource.JMember jMember) throws java.lang.IllegalArgumentException
jMember,
- the JMember to add
java.lang.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.public void addMethod(JMethod jMethod)
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.
java.lang.IllegalArgumentException
- when the given
JMethod has the same name of an existing JMethod.public void addMethod(JMethod jMethod, boolean importReturnType) throws java.lang.IllegalArgumentException
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.
java.lang.IllegalArgumentException
- when the given
JMethod has the same name of an existing JMethod.public void addMethods(JMethod[] jMethods) throws java.lang.IllegalArgumentException
jMethods,
- the JMethod[] to add
java.lang.IllegalArgumentException
- when any of the given
JMethods has the same name of an existing JMethod.public JConstructor createConstructor()
public JConstructor createConstructor(JParameter[] params)
public JClass createInnerClass(java.lang.String localname)
localname
- the name of the class (no package name)
public JConstructor getConstructor(int index)
index
- the index of the constructor to return
public JConstructor[] getConstructors()
public JField getField(java.lang.String name)
name
- the name of the member to return
public JField[] getFields()
public JClass[] getInnerClasses()
public JMethod[] getMethods()
public JMethod getMethod(java.lang.String name, int startIndex)
name
- the name of the method to look forstartIndex
- the starting index to begin the search
public JMethod getMethod(int index)
index
- the index of the JMethod to return.
public JSourceCode getStaticInitializationCode()
public java.lang.String getSuperClass()
public void print(JSourceWriter jsw)
jsw
- the JSourceWriter to print to. [May not be null]public void print(JSourceWriter jsw, boolean classOnly)
jsw
- the JSourceWriter to print to. [May not be null]public void addSourceCode(java.lang.String sourceCode)
public boolean removeConstructor(JConstructor constructor)
constructor
- the JConstructor to remove
public JField removeField(java.lang.String name)
name
- the name of the field to removepublic boolean removeField(JField jField)
jField,
- the JField to removepublic boolean removeInnerClass(JClass jClass)
jClass
- the JClass (inner-class) to remove.
public void setSuperClass(java.lang.String superClass)
superClass
- the super Class that this Class extendspublic static void main(java.lang.String[] args)
public void addImport(java.lang.String className)
the
- className of the class to import.public void addInterface(java.lang.String interfaceName)
interfaceName
- the name of the interface to "inherit"
method declarations from.public void addInterface(JInterface jInterface)
jInterface
- the JInterface to inherit from.public java.lang.String getFilename(java.lang.String destDir)
destDir
- the destination directory. This may be null.
public JComment getHeader()
public java.util.Enumeration getImports()
public java.util.Enumeration getInterfaces()
public JDocComment getJDocComment()
public JModifiers getModifiers()
public java.lang.String getPackageName()
public java.lang.String getName(boolean stripPackage)
stripPackage
- a boolean that when true indicates that only
the local name (no package) should be returned.
public boolean hasImport(java.lang.String classname)
classname
- the class name to check for
public boolean removeImport(java.lang.String className)
public static boolean isValidClassName(java.lang.String name)
public void print()
public void print(java.lang.String destDir, java.lang.String lineSeparator)
lineSeparator
- the line separator to use at the end of each line.
If null, then the default line separator for the runtime platform will
be used.public void printHeader(JSourceWriter jsw)
jsw
- the JSourceWriter to print to.public void printImportDeclarations(JSourceWriter jsw)
jsw
- the JSourceWriter to print to.public void printPackageDeclaration(JSourceWriter jsw)
jsw
- the JSourceWriter to print to.public void setHeader(JComment comment)
comment
- the comment to display at the top of the source file
when printedpublic void setPackageName(java.lang.String packageName)
packageName
- the package name to useprotected int getInterfaceCount()
protected static void printlnWithPrefix(java.lang.String prefix, java.lang.String source, JSourceWriter jsw)
prefix
- the prefix for each new line.source
- the source code to printjsw
- the JSourceWriter to print to.protected static java.lang.String getPackageFromClassName(java.lang.String className)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |