Package org.exolab.javasource
Class AbstractJClass
java.lang.Object
org.exolab.javasource.JType
org.exolab.javasource.JStructure
org.exolab.javasource.AbstractJClass
- All Implemented Interfaces:
JAnnotatedElement
- Direct Known Subclasses:
JClass
A abstract base class for representations of the Java Source code for a Java Class.
- Since:
- 1.1
- Version:
- $Revision: 6668 $ $Date: 2005-05-08 12:32:06 -0600 (Sun, 08 May 2005) $
- Author:
- Ralf Joachim
-
Field Summary
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractJClass
(String name) Creates a new AbstractJClass with the given name. -
Method Summary
Modifier and TypeMethodDescriptionfinal void
addConstant
(JConstant jConstant) void
addConstructor
(JConstructor constructor) Adds the given Constructor to this classes list of constructors.final void
Adds the given JField to this JStructure.final void
Adds the given JMethod to this JClass.final void
Adds the given JMethod to this JClass.final void
addMethods
(JMethod[] jMethods) Adds the given array of JMethods to this JClass.void
addSourceCode
(String sourceCode) Adds a complete source code fragment (method) to this class.final JConstructor
Creates a new JConstructor and adds it to this JClass.final JConstructor
createConstructor
(JParameter[] params) Creates a new JConstructor and adds it to this JClass.final JClass
createInnerClass
(String localname) Creates and returns an inner-class for this JClass.final JConstant
getConstant
(String name) final int
Returns the amount of constants.final JConstant[]
final JConstructor
getConstructor
(int index) Returns the constructor at the specified index.final JConstructor[]
Returns the an array of the JConstructors contained within this JClass.final int
final JField
Returns the field with the given name, or null if no field was found with that name.final int
Returns the amount of fields.final JField[]
Returns an array of all the JFields of this JStructure.final int
final JClass[]
Returns an array of JClass (the inner classes) contained within this JClass.final JMethod
getMethod
(int index) Returns the JMethod located at the specified index.final JMethod
Returns the first occurance of the method with the given name, starting from the specified index.final int
final JMethod[]
Returns an array of all the JMethods of this JClass.String[]
Returns a collection of (complete) source code fragments.final int
final JSourceCode
Returns the JSourceCode for the static initializer of this JClass.final void
print
(JSourceWriter jsw) Deprecated.Please use the Velocity-template based approach instead.abstract void
print
(JSourceWriter jsw, boolean classOnly) Deprecated.Please use the Velocity-template based approach instead.protected final void
Writes to the JSourceWriter the headers for this class file.protected final void
Writes to theJSourceWriter
the constant definitions of this class.protected final void
Writes to the JSourceWriter all constructors for this class.protected final void
Writes to the JSourceWriter all inner classes belonging to this class.protected final void
Writes to the JSourceWriter the member variables of this class.protected final void
Writes to the JSourceWriter all methods belonging to this class.protected final void
printSourceCodeFragments
(JSourceWriter sourceWriter) protected final void
Writes to the JSourceWriter any static initialization used by this class.final JConstant
removeConstant
(String name) Removes the constant with the given name from thisJClass
.final boolean
removeConstant
(JConstant jConstant) final boolean
removeConstructor
(JConstructor constructor) Removes the given constructor from this JClass.final JField
removeField
(String name) Removes the field with the given name from this JClass.final boolean
removeField
(JField jField) Removes the given JField from this JClass.final boolean
removeInnerClass
(JClass jClass) Removes the given inner-class (JClass) from this JClass.final boolean
removeMethod
(JMethod method) Removes the given method from this JClass.Methods inherited from class org.exolab.javasource.JStructure
addAnnotation, addImport, addImport, addImport, addImportInternal, addInterface, addMember, getAnnotatedElementHelper, getAnnotation, getAnnotations, getFilename, getHeader, getImportCount, getImports, getInterfaceCount, getInterfaces, getJDocComment, getModifiers, getPackageName, hasAnnotations, hasImport, isAnnotationPresent, print, printHeader, printImportDeclarations, printPackageDeclaration, removeAnnotation, removeImport, removeInterface, setHeader, toString
Methods inherited from class org.exolab.javasource.JType
getLocalName, getName, isArray, isPrimitive, setName
-
Constructor Details
-
AbstractJClass
Creates a new AbstractJClass with the given name.- Parameters:
name
- The name of the AbstractJClass to create.
-
-
Method Details
-
getSourceCodeEntries
Returns a collection of (complete) source code fragments.- Returns:
- A collection of (complete) source code fragments.
-
getStaticInitializationCode
Returns the JSourceCode for the static initializer of this JClass.- Returns:
- The JSourceCode for the static initializer of this JClass.
-
getField
Returns the field with the given name, or null if no field was found with that name.- Specified by:
getField
in classJStructure
- Parameters:
name
- The name of the field to return.- Returns:
- The field with the given name, or null if no field was found with the given name.
-
getConstant
-
getFields
Returns an array of all the JFields of this JStructure.- Specified by:
getFields
in classJStructure
- Returns:
- An array of all the JFields of this JStructure.
-
getConstants
-
getFieldCount
public final int getFieldCount()Returns the amount of fields.- Returns:
- The amount of fields.
-
getConstantCount
public final int getConstantCount()Returns the amount of constants.- Returns:
- The amount of constants.
-
addField
Adds the given JField to this JStructure.
This method is implemented by subclasses and should only accept the proper fields for the subclass otherwise an IllegalArgumentException will be thrown. For example a JInterface will only accept static fields.- Specified by:
addField
in classJStructure
- Parameters:
jField
- The JField to add.
-
addConstant
-
removeField
Removes the field with the given name from this JClass.- Parameters:
name
- The name of the field to remove.- Returns:
- The JField if it was found and removed.
-
removeConstant
Removes the constant with the given name from thisJClass
.- Parameters:
name
- The name of the constant to remove.- Returns:
- The JConstant if it was found and removed.
-
removeField
Removes the given JField from this JClass.- Parameters:
jField
- The JField to remove.- Returns:
- true if the field was found and removed.
-
removeConstant
- Parameters:
jConstant
- TheJConstant
to remove.- Returns:
- true if the constant was found and removed.
-
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
- A list of parameters for this constructor.- Returns:
- The newly created constructor.
-
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.
-
getContructorsCount
public final int getContructorsCount() -
addConstructor
Adds the given Constructor to this classes list of constructors. The constructor must have been created with this JClass' createConstructor.- Parameters:
constructor
- The constructor to add.
-
removeConstructor
Removes the given constructor from this JClass.- Parameters:
constructor
- The JConstructor to remove.- Returns:
- true if the constructor was removed, otherwise false.
-
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 occurance of the method with the given name, starting from the specified index.- Parameters:
name
- The name of the method to look for.startIndex
- 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.
-
getMethodCount
public final int getMethodCount() -
addMethod
Adds the given JMethod to this JClass.- Parameters:
jMethod
- The JMethod to add.importReturnType
- 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.
-
addMethod
Adds the given JMethod to this JClass.- Parameters:
jMethod
- The JMethod to add.
-
addMethods
Adds the given array of JMethods to this JClass.- Parameters:
jMethods
- The JMethod[] to add.
-
removeMethod
Removes the given method from this JClass.- Parameters:
method
- The JMethod to remove.- Returns:
- true if the method was removed, otherwise false.
-
createInnerClass
Creates and returns an inner-class for this JClass.- Parameters:
localname
- The name of the class (no package name).- Returns:
- the new JClass.
-
getInnerClasses
Returns an array of JClass (the inner classes) contained within this JClass.- Returns:
- An array of JClass contained within this JClass.
-
getInnerClassCount
public final int getInnerClassCount() -
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.
-
print
Deprecated.Please use the Velocity-template based approach instead.Prints the source code for this JStructure to the given JSourceWriter.- Specified by:
print
in classJStructure
- Parameters:
jsw
- The JSourceWriter to print to.- See Also:
-
print
Deprecated.Please use the Velocity-template based approach instead.Prints the source code for this JClass to the given JSourceWriter.- Parameters:
classOnly
- If true, the file header, package declaration, and imports are not printed.jsw
- The JSourceWriter to print to. Must not be null.- See Also:
-
printClassHeaders
Writes to the JSourceWriter the headers for this class file. Headers include the comment-header, the package declaration, and the imports.- Parameters:
jsw
- The JSourceWriter to be used.
-
printConstantDefinitions
Writes to theJSourceWriter
the constant definitions of this class.- Parameters:
jsw
- The JSourceWriter to be used.
-
printMemberVariables
Writes to the JSourceWriter the member variables of this class.- Parameters:
jsw
- The JSourceWriter to be used.
-
printStaticInitializers
Writes to the JSourceWriter any static initialization used by this class.- Parameters:
jsw
- The JSourceWriter to be used.
-
printConstructors
Writes to the JSourceWriter all constructors for this class.- Parameters:
jsw
- The JSourceWriter to be used.
-
printMethods
Writes to the JSourceWriter all methods belonging to this class.- Parameters:
jsw
- The JSourceWriter to be used.
-
printSourceCodeFragments
-
printInnerClasses
Writes to the JSourceWriter all inner classes belonging to this class.- Parameters:
jsw
- The JSourceWriter to be used.
-
addSourceCode
Adds a complete source code fragment (method) to this class.- Parameters:
sourceCode
- The complete source code fragment to be added.
-
getSourceCodeEntryCount
public final int getSourceCodeEntryCount()
-