org.codehaus.modello.generator.java.javasource
Class JCompUnit
java.lang.Object
org.codehaus.modello.generator.java.javasource.JCompUnit
public class JCompUnit
extends java.lang.Object
A representation of the Java Source code for a Java compilation
unit. This is
a useful utility when creating in memory source code.
This package was modelled after the Java Reflection API
as much as possible to reduce the learning curve.
$Revision: 285 $ $Date: 2005-04-01 07:22:37 +0100 (Fri, 01 Apr 2005) $JCompUnit(String packageName, String fileName) - Creates a new JCompUnit
|
JCompUnit(JClass jClass) - Creates a new JCompUnit with the given JClass (which must have
been created with either a full class name or package/local
name) as the public class.
|
JCompUnit(JInterface jInterface) - Creates a new JCompUnit with the given JInterface as public interface
Package and file name are taken from jInterface.
|
void | addClass(JClass jClass) - Adds a JClass which should be printed in this file.
|
void | addInterface(JInterface jInterface) - Adds a JInterface which should be printed in this file.
|
void | addStructure(org.codehaus.modello.generator.java.javasource.JStructure jStructure) - Adds the given JStructure (either a JInterface or
a JClass) to this JCompUnit.
|
String | getFilename(String destDir) - Returns the name of the file that this JCompUnit would be
printed as, given a call to #print.
|
SortedSet | getImports() - returns a array of String containing all import classes/packages,
also imports within the same package of this object.
|
protected static String | getPackageFromClassName(String className)
|
String | getPackageName() - Returns the name of the package that this JCompUnit is a member of
|
void | print() - Prints the source code for this JClass in the current directory
with the default line seperator of the the runtime platform.
|
void | print(String destDir) - Prints the source code for this JClass
with the default line seperator of the the runtime platform.
|
void | print(String destDir, String lineSeparator) - Prints the source code for this JCompUnit.
|
void | print(JSourceWriter jsw) - Prints the source code for this JClass.
|
void | printStructures(JSourceWriter jsw, boolean printPublic) - Print the source code for the contained JClass objects.
|
void | setHeader(JComment comment) - Sets the header comment for this JCompUnit
|
JCompUnit
public JCompUnit(String packageName,
String fileName)
Creates a new JCompUnit
packageName
- the name of the package for this JCompUnit.
If packageName is null or empty, no 'package' line will be generated.fileName
- the name of the file in which this JCompUnit
will be stored
JCompUnit
public JCompUnit(JClass jClass)
Creates a new JCompUnit with the given JClass (which must have
been created with either a full class name or package/local
name) as the public class. Package and file name are taken
from jClass.
jClass
- the public class for this JCompUnit.
JCompUnit
public JCompUnit(JInterface jInterface)
Creates a new JCompUnit with the given JInterface as public interface
Package and file name are taken from jInterface.
jInterface
- the public interface for this JCompUnit.
addClass
public void addClass(JClass jClass)
Adds a JClass which should be printed in this file.
addInterface
public void addInterface(JInterface jInterface)
Adds a JInterface which should be printed in this file.
addStructure
public void addStructure(org.codehaus.modello.generator.java.javasource.JStructure jStructure)
throws IllegalArgumentException
Adds the given JStructure (either a JInterface or
a JClass) to this JCompUnit.
jStructure
- the JStructure to add
getFilename
public String getFilename(String destDir)
Returns the name of the file that this JCompUnit would be
printed as, given a call to #print.
destDir
- the destination directory. This may be null.
- the name of the file that this JCompUnit would be
printed as, given a call to #print.
getImports
public SortedSet getImports()
returns a array of String containing all import classes/packages,
also imports within the same package of this object.
- a array of String containing all import classes/packages,
also imports within the same package of this object.
getPackageFromClassName
protected static String getPackageFromClassName(String className)
getPackageName
public String getPackageName()
Returns the name of the package that this JCompUnit is a member of
- the name of the package that this JCompUnit is a member of,
or null if there is no current package name defined
print
public void print()
Prints the source code for this JClass in the current directory
with the default line seperator of the the runtime platform.
print(java.lang.String, java.lang.String)
print
public void print(String destDir)
Prints the source code for this JClass
with the default line seperator of the the runtime platform.
destDir
- the destination directory to generate the file.
print(java.lang.String, java.lang.String)
print
public void print(String destDir,
String lineSeparator)
Prints the source code for this JCompUnit.
destDir
- the destination directory to generate the file.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.
print
public void print(JSourceWriter jsw)
Prints the source code for this JClass.
jsw
- the JSourceWriter to print to.
printStructures
public final void printStructures(JSourceWriter jsw,
boolean printPublic)
Print the source code for the contained JClass objects.
jsw
- the JSourceWriter to print to.printPublic
- if true, print only public classes; if
false, print only non-public classes.
setHeader
public void setHeader(JComment comment)
Sets the header comment for this JCompUnit
comment
- the comment to display at the top of the source file
when printed