|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.modello.plugin.java.javasource.JType
org.codehaus.modello.plugin.java.javasource.JInterface
public final class JInterface
A representation of the Java Source code for a Java Interface. 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.codehaus.modello.plugin.java.javasource.JType |
---|
Boolean, Byte, Char, Double, Float, Int, Long, Short |
Constructor Summary | |
---|---|
JInterface(java.lang.String name)
Creates a new JInterface with the given name. |
Method Summary | |
---|---|
void |
addField(JField jField)
Adds the given JField to this JStructure. |
void |
addImport(java.lang.String className)
Adds the given import to this JStructure |
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). |
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). |
void |
addMember(org.codehaus.modello.plugin.java.javasource.JMember jMember)
Adds the given JMember to this JStructure. |
void |
addMethod(JMethodSignature jMethodSig)
Adds the given JMethodSignature to this JClass |
JField |
getField(java.lang.String name)
Returns the field with the given name, or null if no field was found with the given name. |
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. |
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()
|
java.util.Enumeration |
getInterfaces()
Returns an Enumeration of interface names that this JStructure inherits from. |
JDocComment |
getJDocComment()
Returns the Java Doc comment for this JStructure |
JMethodSignature |
getMethod(int index)
Returns the JMethodSignature at the given index. |
JMethodSignature |
getMethod(java.lang.String name,
int startIndex)
Returns the JMethodSignature with the given name, and occuring at or after the given starting index. |
JMethodSignature[] |
getMethods()
Returns an array of all the JMethodSignatures of this JInterface. |
JModifiers |
getModifiers()
Returns the JModifiers which allows the qualifiers to be changed. |
java.lang.String |
getName(boolean stripPackage)
Returns the name of the interface. |
protected static java.lang.String |
getPackageFromClassName(java.lang.String className)
Returns the package name from the given class name |
java.lang.String |
getPackageName()
Returns the name of the package that this JStructure is a member of. |
boolean |
hasImport(java.lang.String classname)
Returns true if the given classname exists in the imports of this JStructure |
static boolean |
isValidClassName(java.lang.String name)
|
void |
print()
Prints the source code for this JStructure in the current working directory. |
void |
print(JSourceWriter jsw)
Prints the source code for this JInterface to the given JSourceWriter |
void |
print(JSourceWriter jsw,
boolean classOnly)
Prints the source code for this JInterface 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 |
void |
printImportDeclarations(JSourceWriter jsw)
A utility method that prints the imports to the given JSourceWriter |
protected static void |
printlnWithPrefix(java.lang.String prefix,
java.lang.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(java.lang.String className)
|
void |
setHeader(JComment comment)
Sets the header comment for this JStructure |
void |
setPackageName(java.lang.String packageName)
Allows changing the package name of this JStructure |
Methods inherited from class org.codehaus.modello.plugin.java.javasource.JType |
---|
changePackage, createArray, getComponentType, getLocalName, getName, isArray, isPrimitive, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public JInterface(java.lang.String name) throws java.lang.IllegalArgumentException
name
- the name of the JInterface.
java.lang.IllegalArgumentException
- when the given name
is not a valid Class name.Method Detail |
---|
public void addField(JField jField) throws java.lang.IllegalArgumentException
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.
jField,
- the JField to add
java.lang.IllegalArgumentException
- when the given
JField has a name of an existing JFieldpublic void addMember(org.codehaus.modello.plugin.java.javasource.JMember jMember) throws java.lang.IllegalArgumentException
This method is implemented by subclasses and should only accept the proper types for the subclass otherwise an IllegalArgumentException will be thrown.
jMember
- the JMember to add to this JStructure.
java.lang.IllegalArgumentException
- when the given
JMember has the same name of an existing JField
or JMethod respectively.public void addMethod(JMethodSignature jMethodSig) throws java.lang.IllegalArgumentException
jMethodSig
- the JMethodSignature to add.
java.lang.IllegalArgumentException
- when the given
JMethodSignature conflicts with an existing
method signature.public JField getField(java.lang.String name)
name
- the name of the field to return.
public JField[] getFields()
public JMethodSignature[] getMethods()
public JMethodSignature getMethod(java.lang.String name, int startIndex)
name
- the name of the JMethodSignature to return.startIndex
- the starting index to begin searching
from.
public JMethodSignature getMethod(int index)
index
- the index of the JMethodSignature to return.
public void print(JSourceWriter jsw)
jsw
- the JSourceWriter to print to. [May not be null]public void print(JSourceWriter jsw, boolean classOnly)
jsw
- the JSourceWriter to print to. [May not be null]public void addImport(java.lang.String className)
the
- className of the class to import.public void addInterface(java.lang.String interfaceName)
interfaceName
- the name of the interface to "inherit"
method declarations from.public void addInterface(JInterface jInterface)
jInterface
- the JInterface to inherit from.public java.lang.String getFilename(java.lang.String destDir)
destDir
- the destination directory. This may be null.
public JComment getHeader()
public java.util.Enumeration getImports()
public java.util.Enumeration getInterfaces()
public JDocComment getJDocComment()
public JModifiers getModifiers()
public java.lang.String getPackageName()
public java.lang.String getName(boolean stripPackage)
stripPackage
- a boolean that when true indicates that only
the local name (no package) should be returned.
public boolean hasImport(java.lang.String classname)
classname
- the class name to check for
public boolean removeImport(java.lang.String className)
public static boolean isValidClassName(java.lang.String name)
public void print()
public void print(java.lang.String destDir, java.lang.String lineSeparator)
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 void printHeader(JSourceWriter jsw)
jsw
- the JSourceWriter to print to.public void printImportDeclarations(JSourceWriter jsw)
jsw
- the JSourceWriter to print to.public void printPackageDeclaration(JSourceWriter jsw)
jsw
- the JSourceWriter to print to.public void setHeader(JComment comment)
comment
- the comment to display at the top of the source file
when printedpublic void setPackageName(java.lang.String packageName)
packageName
- the package name to useprotected int getInterfaceCount()
protected static void printlnWithPrefix(java.lang.String prefix, java.lang.String source, JSourceWriter jsw)
prefix
- the prefix for each new line.source
- the source code to printjsw
- the JSourceWriter to print to.protected static java.lang.String getPackageFromClassName(java.lang.String className)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |