|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.exolab.javasource.JType
org.exolab.javasource.JStructure
org.exolab.javasource.JAnnotationType
Class describes the definition of a annotation type class JAnnotationType annotationType = new JAnnotationType("RequestForEnhancement"); annotationType.addElement(new JAnnotationTypeElement("id", JType.Int)); annotationType.addElement(new JAnnotationTypeElement("synopsis", new JType("String"))); JAnnotationTypeElement enginer = new JAnnotationTypeElement("enginer", new JType("String")); enginer.setDefaultString("\"[unassigned]\""); annotationType.addElement(enginer); JAnnotationTypeElement date = new JAnnotationTypeElement("date", new JType("String")); date.setDefaultString("\"[unimplemented]\""); annotationType.addElement(date); Outputs public @interface RequestForEnhancement { int id(); String synopsis(); String enginer() default "[unassigned]"; String date() default "[unimplemented]"; }
Field Summary | |
(package private) static java.lang.String |
DEFAULT_HEADER
The Id for Source control systems I needed to separate this line to prevent CVS from expanding it here! ;-) |
(package private) static java.lang.String |
version
The source control version for listed in the JavaDoc I needed to separate this line to prevent CVS from expanding it here! ;-) |
Fields inherited from class org.exolab.javasource.JType |
Boolean, Byte, Char, Double, Float, Int, Long, Short |
Constructor Summary | |
JAnnotationType(java.lang.String name)
Creates a JAnnotationType of the given name |
Method Summary | |
void |
addAnnotation(JAnnotation annotation)
Adds a JAnnotation to this source element. |
void |
addElement(JAnnotationTypeElement jElement)
Adds the given JAnnotationTypeElement to this JAnnotationType |
void |
addField(JField jField)
Not implemented. |
protected void |
addImport(JAnnotation annotation)
Adds approprite import for this JAnnotation |
protected void |
addImport(JAnnotation[] annotations)
Adds approprite imports for these JAnnotation's |
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(JMember jMember)
Adds the given JMember to this JAnnotationType |
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 |
JAnnotationTypeElement |
getElement(java.lang.String name)
Returns the member with the given name, or null if no member was found with the given name |
JAnnotationTypeElement[] |
getElements()
Returns an array of all the JAnnotationTypeElements of this JClass |
JField |
getField(java.lang.String name)
Not implemnted. |
JField[] |
getFields()
Not implemented |
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 |
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 |
hasAnnotations()
Returns true if annotations have been added to this source element |
boolean |
hasImport(java.lang.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 |
static boolean |
isValidClassName(java.lang.String name)
|
static void |
main(java.lang.String[] args)
Test |
void |
print()
Prints the source code for this JStructure in the current working directory. |
void |
print(JSourceWriter jsw)
Prints the source code for this JAnnotationType 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 |
JAnnotation |
removeAnnotation(JAnnotationType annotationType)
Removes the JAnnotation from this source element for the given JAnnotationType, throws a IllegalArgumentException if no JAnnotation has been added. |
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.exolab.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 |
Field Detail |
static final java.lang.String DEFAULT_HEADER
static final java.lang.String version
Constructor Detail |
public JAnnotationType(java.lang.String name) throws java.lang.IllegalArgumentException
name
-
java.lang.IllegalArgumentException
Method Detail |
public void addMember(JMember jMember) throws java.lang.IllegalArgumentException
addMember
in class JStructure
jMember
- the JMember to add to this JStructure.
java.lang.IllegalArgumentException
- when the given
JMember has the same name of an existing JAnnotationTypeElement
or if the JMember is of an unrecognized class.public void addElement(JAnnotationTypeElement jElement) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
- when the given
JAnnotationTypeElement has the same name of an existing JAnnotationTypeElement.public JAnnotationTypeElement getElement(java.lang.String name)
name
- the name of the member to return
public JAnnotationTypeElement[] getElements()
public void addField(JField jField) throws java.lang.IllegalArgumentException
addField
in class JStructure
jField
-
java.lang.IllegalArgumentException
- when the given
JField has a name of an existing JFieldpublic JField getField(java.lang.String name)
getField
in class JStructure
name
-
public JField[] getFields()
getFields
in class JStructure
public void print(JSourceWriter jsw)
print
in class JStructure
jsw
- the JSourceWriter to print to. [May not be null]public static void main(java.lang.String[] args)
args
- public void addImport(java.lang.String className)
protected void addImport(JAnnotation annotation)
annotation
- protected void addImport(JAnnotation[] annotations)
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()
protected JAnnotatedElementHelper getAnnotatedElementHelper()
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 usepublic void addAnnotation(JAnnotation annotation)
JAnnotatedElement
addAnnotation
in interface JAnnotatedElement
annotation
- public JAnnotation getAnnotation(JAnnotationType annotationType)
JAnnotatedElement
getAnnotation
in interface JAnnotatedElement
annotationType
-
public JAnnotation[] getAnnotations()
JAnnotatedElement
getAnnotations
in interface JAnnotatedElement
public boolean isAnnotationPresent(JAnnotationType annotationType)
JAnnotatedElement
isAnnotationPresent
in interface JAnnotatedElement
annotationType
-
public JAnnotation removeAnnotation(JAnnotationType annotationType)
JAnnotatedElement
removeAnnotation
in interface JAnnotatedElement
public boolean hasAnnotations()
JAnnotatedElement
hasAnnotations
in interface JAnnotatedElement
protected 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 |