|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectorg.exolab.javasource.JType
org.exolab.javasource.JStructure
org.exolab.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.
| Nested Class Summary | |
|---|---|
(package private) class |
JClass.JInnerClass
|
| Field Summary | |
|---|---|
protected java.util.Vector |
_constructors
The list of constructors for this JClass |
protected JNamedMap |
_fields
The list of member variables (fields) of this JClass |
protected java.util.Vector |
_innerClasses
|
protected java.util.Vector |
_methods
The list of methods of this JClass |
protected JSourceCode |
_staticInitializer
The source code for static initialization |
protected JTypeName |
_superClass
The superclass for this JClass |
| Fields inherited from class org.exolab.javasource.JStructure |
|---|
DEFAULT_HEADER, version |
| Fields inherited from class org.exolab.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 name)
Adds the given import to this JStructure |
void |
addMember(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 |
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 |
JClass[] |
getInnerClasses()
Returns an array of JClass (the inner classes) contained within this JClass. |
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 |
JSourceCode |
getStaticInitializationCode()
Returns the JSourceCode for the static initializer of this JClass |
java.lang.String |
getSuperClass()
Gets the super Class that this class extends |
static void |
main(java.lang.String[] args)
Test drive method...to be removed or commented out |
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 |
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 |
removeInnerClass(JClass jClass)
Removes the given inner-class (JClass) from this JClass. |
boolean |
removeMethod(JMethod method)
Removes the given method from this JClass |
void |
setSuperClass(java.lang.String superClass)
Sets the super Class that this class extends |
| Methods inherited from class org.exolab.javasource.JStructure |
|---|
addAnnotation, addImport, addImport, addInterface, addInterface, getAnnotatedElementHelper, getAnnotation, getAnnotations, getFilename, getHeader, getImports, getInterfaceCount, getInterfaces, getJDocComment, getModifiers, getName, getPackageFromClassName, getPackageName, hasAnnotations, hasImport, isAnnotationPresent, isValidClassName, print, print, printHeader, printImportDeclarations, printlnWithPrefix, printPackageDeclaration, removeAnnotation, removeImport, setHeader, setPackageName |
| Methods inherited from class org.exolab.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 |
| Field Detail |
|---|
protected java.util.Vector _constructors
protected JNamedMap _fields
protected java.util.Vector _innerClasses
protected java.util.Vector _methods
protected JTypeName _superClass
protected JSourceCode _staticInitializer
| 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 name| Method Detail |
|---|
public void addConstructor(JConstructor constructor)
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public void addField(JField jField)
throws java.lang.IllegalArgumentException
addField in class JStructurejField, - the JField to add
java.lang.IllegalArgumentException - when the given
JField has a name of an existing JFieldpublic void addImport(java.lang.String name)
JStructure
addImport in class JStructurename - name of the class to import.
public void addMember(JMember jMember)
throws java.lang.IllegalArgumentException
addMember in class JStructurejMember, - 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 add
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)
getField in class JStructurename - the name of the member to return
public JField[] getFields()
getFields in class JStructurepublic 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)
print in class JStructurejsw - 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 boolean removeConstructor(JConstructor constructor)
constructor - the JConstructor to remove
public boolean removeMethod(JMethod method)
method - the JMethod 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)
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||