org.exolab.javasource
abstract class JStructure extends JType
Version: $Revision: 1.1.1.1 $ $Date: 2003/03/03 07:09:57 $
Field Summary | |
---|---|
static String | DEFAULT_HEADER
The Id for Source control systems
I needed to separate this line to prevent CVS from
expanding it here! |
static String | version
The source control version for listed in the JavaDoc
I needed to separate this line to prevent CVS from
expanding it here! |
Constructor Summary | |
---|---|
protected | JStructure(String name)
Creates a new JStructure with the given name.
|
Method Summary | |
---|---|
abstract void | addField(JField jField)
Adds the given JField to this JStructure.
|
void | addImport(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).
|
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).
|
abstract void | addMember(JMember jMember)
Adds the given JMember to this JStructure.
|
abstract JField | getField(String name)
Returns the field with the given name, or null if no field
was found with the given 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.
|
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.
|
Enumeration | getImports()
Returns an Enumeration of imported package and
class names for this JStructure.
|
protected int | getInterfaceCount() |
Enumeration | getInterfaces()
Returns an Enumeration of interface names that this
JStructure inherits from.
|
JDocComment | getJDocComment()
Returns the Java Doc comment for this JStructure
|
JModifiers | getModifiers()
Returns the JModifiers which allows the qualifiers to be changed.
|
String | getName(boolean stripPackage)
Returns the name of the interface.
|
protected static String | getPackageFromClassName(String className)
Returns the package name from the given class name |
String | getPackageName()
Returns the name of the package that this JStructure is a member
of.
|
boolean | hasImport(String classname)
Returns true if the given classname exists in the imports
of this JStructure
|
static boolean | isValidClassName(String name) |
void | print()
Prints the source code for this JStructure in the current
working directory. |
void | print(String destDir, String lineSeparator)
Prints the source code for this JStructure to the destination
directory. |
abstract void | print(JSourceWriter jsw)
Prints the source code for this JStructure to the given
JSourceWriter.
|
void | printHeader(JSourceWriter jsw)
A utility method that prints the header to the given
JSourceWriter
|
void | printImportDeclarations(JSourceWriter jsw)
A utility method that prints the imports to the given
JSourceWriter
|
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.
|
void | printPackageDeclaration(JSourceWriter jsw)
A utility method that prints the packageDeclaration to
the given JSourceWriter
|
boolean | removeImport(String className) |
void | setHeader(JComment comment)
Sets the header comment for this JStructure
|
void | setPackageName(String packageName)
Allows changing the package name of this JStructure
|
Parameters: name the name of the JStructure.
Throws: IllegalArgumentException when the given name is not a valid Class name.
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
Throws: IllegalArgumentException when the given JField has a name of an existing JField
Parameters: the className of the class to import.
Parameters: interfaceName the name of the interface to "inherit" method declarations from.
Parameters: jInterface the JInterface to inherit from.
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.
Throws: IllegalArgumentException when the given JMember has the same name of an existing JField or JMethod respectively.
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.
Returns: an array of all the JFields of this JStructure
Parameters: destDir the destination directory. This may be null.
Returns: the name of the file that this JInterface would be printed as, given a call to #print.
Returns: the JComment header or null if none exists.
Returns: the Enumeration of imports. May be empty.
Returns: the Enumeration of interface names for this JStructure. May be empty.
Returns: the JDocComment for this JStructure
Returns: the JModifiers for 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.
Returns: the name of the package that this JStructure is a member of, or null if there is no current package name defined.
Parameters: classname the class name to check for
Returns: true if the given classname exists in the imports list
Parameters: 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.
Parameters: jsw the JSourceWriter to print to.
Parameters: jsw the JSourceWriter to print to.
Parameters: jsw the JSourceWriter to print to.
Parameters: prefix the prefix for each new line. source the source code to print jsw the JSourceWriter to print to.
Parameters: jsw the JSourceWriter to print to.
Parameters: comment the comment to display at the top of the source file when printed
Parameters: packageName the package name to use