public class JClass extends JStructure
Modifier and Type | Class and Description |
---|---|
(package private) class |
JClass.JInnerClass |
Modifier and Type | Field and Description |
---|---|
private java.util.List<JConstructor> |
_constructors
The list of constructors for this JClass
|
private java.util.Map<java.lang.String,JField> |
_fields
The list of member variables (fields) of this JClass
|
private java.util.List<JClass> |
_innerClasses |
private java.util.List<JMethod> |
_methods
The list of methods of this JClass
|
private JSourceCode |
_staticInitializer
The source code for static initialization
|
private java.lang.String |
_superClass
The superclass for this JClass
|
private java.util.List<java.lang.String> |
sourceCodeEntries |
DEFAULT_HEADER, version
Constructor and Description |
---|
JClass(java.lang.String name)
Creates a new JClass with the given name
|
Modifier and Type | Method and Description |
---|---|
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 |
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
|
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
|
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 occurrence 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
|
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.
|
void |
setSuperClass(java.lang.String superClass)
Sets the super Class that this class extends
|
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, setPackageName
changePackage, createArray, getComponentType, getLocalName, getName, isArray, isPrimitive, toString
private java.util.List<JConstructor> _constructors
private java.util.Map<java.lang.String,JField> _fields
private java.util.List<JClass> _innerClasses
private java.util.List<JMethod> _methods
private java.lang.String _superClass
private JSourceCode _staticInitializer
private java.util.List<java.lang.String> sourceCodeEntries
public JClass(java.lang.String name) throws java.lang.IllegalArgumentException
name
- the name of the JClass to createjava.lang.IllegalArgumentException
- when the given name
is not a valid Class namepublic void addConstructor(JConstructor constructor) throws java.lang.IllegalArgumentException
constructor
- a constructorjava.lang.IllegalArgumentException
- if constructor
is null
or invalid.public void addField(JField jField) throws java.lang.IllegalArgumentException
addField
in class JStructure
jField,
- the JField to addjava.lang.IllegalArgumentException
- when the given
JField has a name of an existing JFieldpublic void addMember(JMember jMember) throws java.lang.IllegalArgumentException
addMember
in class JStructure
jMember,
- the JMember to addjava.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 addpublic 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 addjava.lang.IllegalArgumentException
- when any of the given
JMethods has the same name of an existing JMethod.public JConstructor createConstructor()
public JConstructor createConstructor(JParameter[] params)
params
- the parameterspublic 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 returnpublic JConstructor[] getConstructors()
public JField getField(java.lang.String name)
getField
in class JStructure
name
- the name of the member to returnpublic 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 searchpublic 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]classOnly
- whether the header, package and imports should be printed toopublic void addSourceCode(java.lang.String sourceCode)
public boolean removeConstructor(JConstructor constructor)
constructor
- the JConstructor to removepublic JField removeField(java.lang.String name)
name
- the name of the field to removepublic boolean removeField(JField jField)
jField,
- the JField to removetrue
if and only if the field was successfully removedpublic 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 extends