|
||||||||
| 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
public abstract class JStructure
This class represents the basic Java "structure" for a Java source file. This
is the base class for JClass and JInterface.
This is a useful utility
when creating in memory source code. The code in 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.exolab.javasource.JType |
|---|
BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, INT, LONG, SHORT |
| Constructor Summary | |
|---|---|
protected |
JStructure(java.lang.String name)
Creates a new JStructure with the given name. |
| Method Summary | |
|---|---|
void |
addAnnotation(JAnnotation annotation)
Adds a JAnnotation to this source element. |
abstract void |
addField(JField jField)
Adds the given JField to this JStructure. |
protected void |
addImport(JAnnotation annotation)
Adds appropriate import for this JAnnotation. |
protected void |
addImport(JAnnotation[] annotations)
Adds appropriate imports for each JAnnotation in the given Array. |
abstract void |
addImport(java.lang.String className)
Adds the given import to this JStructure. |
protected void |
addImportInternal(java.lang.String className)
Adds the given import to this JStructure. |
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). |
abstract void |
addMember(JMember jMember)
Adds the given JMember to this JStructure. |
protected JAnnotatedElementHelper |
getAnnotatedElementHelper()
Returns the object managing the annotations for this JStructure. |
JAnnotation |
getAnnotation(JAnnotationType annotationType)
Retrieves a JAnnotation for the given JAnnotationType, returns null if no annotation has been set. |
JAnnotation[] |
getAnnotations()
Returns a list of JAnnotation's already set on this source element. |
abstract JField |
getField(java.lang.String name)
Returns the field with the given name, or null if no field was found with that name. |
abstract JField[] |
getFields()
Returns an array of all the JFields of this JStructure. |
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(String, String). |
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. |
int |
getImportCount()
Returns the amount of imports. |
java.util.Enumeration<java.lang.String> |
getImports()
Returns an Enumeration of imported package and class names for this JStructure. |
int |
getInterfaceCount()
Return the count of the number of Interfaces that have been added to this JStructure. |
java.util.Enumeration<java.lang.String> |
getInterfaces()
Returns an Enumeration of interface names that this JStructure inherits from. |
JDocComment |
getJDocComment()
Returns the JavaDoc comment for this JStructure. |
JModifiers |
getModifiers()
Returns the JModifiers, which allows the qualifiers to be changed. |
java.lang.String |
getPackageName()
Returns the name of the package that this JStructure is a member of. |
boolean |
hasAnnotations()
Returns true if this source element has any annotations. |
boolean |
hasImport(java.lang.String classname)
Returns true if the given classname exists in the imports of this JStructure. |
boolean |
isAnnotationPresent(JAnnotationType annotationType)
Returns true if a JAnnotation exists for the given JAnnotationType. |
abstract void |
print(JSourceWriter jsw)
Deprecated. Please use the Velocity-template based approach instead. |
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. |
protected void |
printImportDeclarations(JSourceWriter jsw)
A utility method that prints the imports to the given JSourceWriter. |
void |
printPackageDeclaration(JSourceWriter jsw)
A utility method that prints the packageDeclaration to the given JSourceWriter. |
JAnnotation |
removeAnnotation(JAnnotationType annotationType)
Removes the JAnnotation from this source element for the given JAnnotationType. |
boolean |
removeImport(java.lang.String className)
Remove the import of the given class name from this JStucture, returning true if the import was found and removed. |
boolean |
removeInterface(java.lang.String interfaceName)
Removes the given interface from the list of interfaces this JStructure has. |
void |
setHeader(JComment comment)
Sets the header comment for this JStructure. |
java.lang.String |
toString()
Returns the String representation of this JType. |
| Methods inherited from class org.exolab.javasource.JType |
|---|
getLocalName, getName, isArray, isPrimitive, setName |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
protected JStructure(java.lang.String name)
name - The name of the JStructure.| Method Detail |
|---|
public final JComment getHeader()
public final void setHeader(JComment comment)
comment - The comment to display at the top of the source file when
printed.public final java.lang.String getPackageName()
public final java.util.Enumeration<java.lang.String> getImports()
public final int getImportCount()
public final boolean hasImport(java.lang.String classname)
classname - The class name to check for
public abstract void addImport(java.lang.String className)
className - Name of the class to import.protected final void addImportInternal(java.lang.String className)
className - Name of the class to import.protected final void addImport(JAnnotation annotation)
annotation - A JAnnotation for which we want to add an import to this
JStructure.protected final void addImport(JAnnotation[] annotations)
annotations - An Array of JAnnotation; we want to add an import to this
JStructure for each JAnnotation in the Array.public final boolean removeImport(java.lang.String className)
className - Name of the class to remove the import of.
public final JDocComment getJDocComment()
protected final JAnnotatedElementHelper getAnnotatedElementHelper()
public final boolean hasAnnotations()
hasAnnotations in interface JAnnotatedElementpublic final JAnnotation[] getAnnotations()
getAnnotations in interface JAnnotatedElementpublic final JAnnotation getAnnotation(JAnnotationType annotationType)
getAnnotation in interface JAnnotatedElementannotationType - Annotation type to retrieve.
public final boolean isAnnotationPresent(JAnnotationType annotationType)
isAnnotationPresent in interface JAnnotatedElementannotationType - Annotation type to check for presence or absense.
public final void addAnnotation(JAnnotation annotation)
addAnnotation in interface JAnnotatedElementannotation - A JAnnotation to add to this source element.public final JAnnotation removeAnnotation(JAnnotationType annotationType)
removeAnnotation in interface JAnnotatedElementannotationType - Annotation type to remove.
public final JModifiers getModifiers()
public final java.util.Enumeration<java.lang.String> getInterfaces()
public final int getInterfaceCount()
public final void addInterface(java.lang.String interfaceName)
interfaceName - The name of the interface to "inherit" method declarations
from.public final boolean removeInterface(java.lang.String interfaceName)
JStructure has.
interfaceName - The name of the interface to be removed.
JStructure implemented the interface and it was
removed, false otherwise.public abstract JField getField(java.lang.String name)
name - The name of the field to return.
public abstract JField[] getFields()
public abstract void addField(JField jField)
jField - The JField to add.public abstract void addMember(JMember jMember)
jMember - The JMember to add to this JStructure.public final java.lang.String getFilename(java.lang.String destDir)
print(String, String).
destDir - the destination directory. This may be null.
public final void print(java.lang.String destDir,
java.lang.String lineSeparator)
destDir - Directory name to use as the root directory for all output.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 abstract void print(JSourceWriter jsw)
jsw - The JSourceWriter to print to.public final void printHeader(JSourceWriter jsw)
jsw - The JSourceWriter to print to.public final void printPackageDeclaration(JSourceWriter jsw)
jsw - The JSourceWriter to print to.protected final void printImportDeclarations(JSourceWriter jsw)
jsw - The JSourceWriter to print to.public final java.lang.String toString()
toString in class java.lang.Object
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||