|
||||||||
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 nameMethod 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 JStructure
jField,
- 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 JStructure
name
- name of the class to import.public void addMember(JMember jMember) throws java.lang.IllegalArgumentException
addMember
in class JStructure
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 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 JStructure
name
- the name of the member to return
public JField[] getFields()
getFields
in class JStructure
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)
print
in class JStructure
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 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 |