Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.exolab.javasource.JType
org.exolab.javasource.JStructure
Field Summary |
Fields inherited from class org.exolab.javasource.JType | |
BOOLEAN , BYTE , CHAR , DOUBLE , FLOAT , INT , LONG , SHORT |
Constructor Summary | |
|
Method Summary | |
void |
|
abstract void | |
void |
|
protected void |
|
protected void |
|
void |
|
void |
|
abstract void | |
protected JAnnotatedElementHelper |
|
JAnnotation |
|
JAnnotation[] | |
abstract JField |
|
abstract JField[] |
|
String |
|
JComment |
|
Enumeration |
|
protected int |
|
Enumeration |
|
JDocComment |
|
JModifiers |
|
String |
|
protected static String |
|
String |
|
boolean | |
boolean |
|
boolean |
|
static boolean |
|
void |
|
void |
|
abstract void |
|
void |
|
void |
|
void |
|
protected static void |
|
JAnnotation |
|
boolean |
|
void | |
void |
|
Methods inherited from class org.exolab.javasource.JType | |
changePackage , getLocalName , getName , getWrapperName , isArray , isPrimitive , toString |
protected JStructure(String name)
Creates a new JStructure with the given name.
- Parameters:
name
- the name of the JStructure.
public final void addAnnotation(JAnnotation annotation)
- Specified by:
- addAnnotation in interface JAnnotatedElement
public abstract void addField(JField jField)
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.
- Parameters:
jField
- the JField to add
public void addImport(String className)
Adds the given import to this JStructure.
- Parameters:
className
- name of the class to import.
protected final void addImport(JAnnotation annotation)
Adds appropriate import for this JAnnotation.
- Parameters:
annotation
- a JAnnotation for which we want to add an import to this JStructure
protected final void addImport(JAnnotation[] annotations)
Adds appropriate imports for each JAnnotation in the given Array.
- Parameters:
annotations
- an Array of JAnnotation; we want to add an import to this JStructure for each JAnnotation in the Array
public final 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).
- Parameters:
interfaceName
- the name of the interface to "inherit" method declarations from.
public final void addInterface(JInterface jInterface)
Adds the given interface to the list of interfaces this JStructure inherits method declarations from, and either implements (JClass) or extends (JInterface).
- Parameters:
jInterface
- the JInterface to inherit from.
public abstract void addMember(JMember jMember)
Adds the given JMember to this JStructure. This method is implemented by subclasses and should only accept the proper types for the subclass otherwise an IllegalArgumentException will be thrown.
- Parameters:
jMember
- the JMember to add to this JStructure.
protected final JAnnotatedElementHelper getAnnotatedElementHelper()
Returns the object managing the annotations for this JStructure.
- Returns:
- the object managing the annotations for this JStructure.
public final JAnnotation getAnnotation(JAnnotationType annotationType)
- Specified by:
- getAnnotation in interface JAnnotatedElement
public final JAnnotation[] getAnnotations()
- Specified by:
- getAnnotations in interface JAnnotatedElement
- See Also:
{@inheritDoc}
public abstract JField getField(String name)
Returns the field with the given name, or null if no field was found with that name.
- 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.
public abstract JField[] getFields()
Returns an array of all the JFields of this JStructure.
- Returns:
- an array of all the JFields of this JStructure.
public final String getFilename(String destDir)
Returns the name of the file that this JStructure would be printed to, given a call toprint(String,String)
, or given a call toprint()
if the parameter destDir is null.
- Parameters:
destDir
- the destination directory. This may be null.
- Returns:
- the name of the file that this JInterface would be printed to
public final 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.
- Returns:
- the JComment header or null if none exists.
public final Enumeration getImports()
Returns an Enumeration of imported package and class names for this JStructure.
- Returns:
- the Enumeration of imports. May be empty but will not be null.
protected final int getInterfaceCount()
Return the count of the number of Interfaces that have been added to this JStructure.
- Returns:
- the count of the number of Interfaces that have been added to this JStructure.
public final Enumeration getInterfaces()
Returns an Enumeration of interface names that this JStructure inherits from.
- Returns:
- the Enumeration of interface names for this JStructure. May be empty but will not be null.
public final JDocComment getJDocComment()
Returns the JavaDoc comment for this JStructure.
- Returns:
- the JDocComment for this JStructure.
public final JModifiers getModifiers()
Returns the JModifiers, which allows the qualifiers to be changed.
- Returns:
- the JModifiers for this JStructure.
public final String getName(boolean stripPackage)
Returns the name of the class represented by this JStructure.
- Parameters:
stripPackage
- a boolean that when true indicates that only the local name (no package) should be returned.
- Returns:
- the name of the class represented by this JStructure, including the full package if stripPackage is false.
protected static String getPackageFromClassName(String className)
Returns the package name from the given class name.
- Parameters:
className
- an arbitrary class name, optionally including a package
- Returns:
- the package name from the given class name.
public final String getPackageName()
Returns the name of the package that this JStructure is a member of.
- Returns:
- the name of the package that this JStructure is a member of, or null if there is no current package name defined.
public final boolean hasAnnotations()
- Specified by:
- hasAnnotations in interface JAnnotatedElement
- See Also:
{@inheritDoc}
public final boolean hasImport(String classname)
Returns true if the given classname exists in the imports of this JStructure.
- Parameters:
classname
- the class name to check for
- Returns:
- true if the given classname exists in the imports list.
public final boolean isAnnotationPresent(JAnnotationType annotationType)
- Specified by:
- isAnnotationPresent in interface JAnnotatedElement
public static boolean isValidClassName(String classname)
Test the provided name and return true if it is a valid class name.
- Parameters:
classname
- A class name to test.
- Returns:
- true if the provided class name is a valid class name.
public final void print()
Prints the source code for this JStructure in the current working directory. Sub-directories will be created if necessary for the package.
public final void print(String destDir, String lineSeparator)
Prints the source code for this JStructure to the destination directory. Subdirectories will be created if necessary for the package.
- Parameters:
destDir
- directory name to use as the root directory for all outputlineSeparator
- 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)
Prints the source code for this JStructure to the given JSourceWriter.
- Parameters:
jsw
- the JSourceWriter to print to.
public final void printHeader(JSourceWriter jsw)
A utility method that prints the header to the given JSourceWriter.
- Parameters:
jsw
- the JSourceWriter to print to.
public final void printImportDeclarations(JSourceWriter jsw)
A utility method that prints the imports to the given JSourceWriter.
- Parameters:
jsw
- the JSourceWriter to print to.
public final void printPackageDeclaration(JSourceWriter jsw)
A utility method that prints the packageDeclaration to the given JSourceWriter.
- Parameters:
jsw
- the JSourceWriter to print to.
protected static void printlnWithPrefix(String prefix, String source, JSourceWriter jsw)
Prints the given source string to the JSourceWriter using the given prefix at the beginning of each new line.
- Parameters:
prefix
- the prefix for each new line.source
- the source code to printjsw
- the JSourceWriter to print to.
public final JAnnotation removeAnnotation(JAnnotationType annotationType)
- Specified by:
- removeAnnotation in interface JAnnotatedElement
public final boolean removeImport(String className)
Remove the import of the given class name from this JStucture, returning true if the import was found and removed.
- Parameters:
className
- Name of the class to remove the import of
- Returns:
- if the import was previously part of this JStructure, false otherwise.
public final void setHeader(JComment comment)
Sets the header comment for this JStructure.
- Parameters:
comment
- the comment to display at the top of the source file when printed
public void setPackageName(String packageName)
Allows changing the package name of this JStructure.
- Parameters:
packageName
- the package name to use