public abstract class JStructure extends JType implements JAnnotatedElement
Modifier | Constructor and Description |
---|---|
protected |
JStructure(String name)
Creates a new JStructure with the given name.
|
Modifier and Type | Method and Description |
---|---|
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(String className)
Adds the given import to this JStructure.
|
protected void |
addImportInternal(String className)
Adds the given import to this JStructure.
|
void |
addInterface(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(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.
|
String |
getFilename(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.
|
Enumeration<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.
|
Enumeration<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.
|
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(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(String destDir,
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(String className)
Remove the import of the given class name from this JStucture, returning
true if the import was found and removed.
|
boolean |
removeInterface(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.
|
String |
toString()
Returns the String representation of this JType. |
getLocalName, getName, isArray, isPrimitive, setName
protected JStructure(String name)
name
- The name of the JStructure.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 String getPackageName()
public final Enumeration<String> getImports()
public final int getImportCount()
public final boolean hasImport(String classname)
classname
- The class name to check forpublic abstract void addImport(String className)
className
- Name of the class to import.protected final void addImportInternal(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(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 Enumeration<String> getInterfaces()
public final int getInterfaceCount()
public final void addInterface(String interfaceName)
interfaceName
- The name of the interface to "inherit" method declarations
from.public final boolean removeInterface(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(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 String getFilename(String destDir)
print(String, String)
.destDir
- the destination directory. This may be null.public final void print(String destDir, 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.Copyright © 2014. All rights reserved.