|
||||||||
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. |
java.util.Enumeration |
getImports()
Returns an Enumeration of imported package and class names for this JStructure. |
protected int |
getInterfaceCount()
Return the count of the number of Interfaces that have been added to this JStructure. |
java.util.Enumeration |
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)
Prints the source code for this JStructure to the given JSourceWriter. |
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. |
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 getImports()
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 JAnnotatedElement
public final JAnnotation[] getAnnotations()
getAnnotations
in interface JAnnotatedElement
public final JAnnotation getAnnotation(JAnnotationType annotationType)
getAnnotation
in interface JAnnotatedElement
annotationType
- Annotation type to retrieve.
public final boolean isAnnotationPresent(JAnnotationType annotationType)
isAnnotationPresent
in interface JAnnotatedElement
annotationType
- Annotation type to check for presence or absense.
public final void addAnnotation(JAnnotation annotation)
addAnnotation
in interface JAnnotatedElement
annotation
- A JAnnotation to add to this source element.public final JAnnotation removeAnnotation(JAnnotationType annotationType)
removeAnnotation
in interface JAnnotatedElement
annotationType
- Annotation type to remove.
public final JModifiers getModifiers()
public final java.util.Enumeration getInterfaces()
protected final int getInterfaceCount()
public final void addInterface(java.lang.String interfaceName)
interfaceName
- The name of the interface to "inherit" method
declarations from.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 |