Class JClass
java.lang.Object
org.exolab.javasource.JType
org.exolab.javasource.JStructure
org.exolab.javasource.AbstractJClass
org.exolab.javasource.JClass
- All Implemented Interfaces:
JAnnotatedElement
- Direct Known Subclasses:
DescriptorJClass, JDODescriptorJClass, JEnum, JInnerClass
A representation of the Java Source code for a Java Class. 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.
- Version:
- $Revision: 9147 $ $Date: 2005-05-08 12:32:06 -0600 (Sun, 08 May 2005) $
- Author:
- Keith Visco, Martin Skopp
-
Field Summary
Fields inherited from class JType
BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, INT, LONG, SHORTModifier and TypeFieldDescriptionstatic final JPrimitiveTypeJType for a boolean (Boolean).static final JPrimitiveTypeJType instance for a byte (Byte).static final JPrimitiveTypeJType instance for a char (Char).static final JPrimitiveTypeJType instance for a double (Double).static final JPrimitiveTypeJType instance for a float (Float).static final JPrimitiveTypeJType instance for a int (Integer).static final JPrimitiveTypeJType instance for a long (Long).static final JPrimitiveTypeJType instance for a short (Short). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidAdds the given import to this JStructure.voidAdds the given JMember to this JStructure.voidchangeLocalName(String localName) Changes the local name of this class type.final JTypeNameReturns the super class that this class extends.final StringReturns the qualified name of the super class that this class extends.voidprint(JSourceWriter jsw, boolean classOnly) Deprecated.Please use the Velocity-template based approach instead.final voidsetSuperClass(String superClass) Sets the super Class that this class extends.Methods inherited from class AbstractJClass
addConstant, addConstructor, addField, addMethod, addMethod, addMethods, addSourceCode, createConstructor, createConstructor, createInnerClass, getConstant, getConstantCount, getConstants, getConstructor, getConstructors, getContructorsCount, getField, getFieldCount, getFields, getInnerClassCount, getInnerClasses, getMethod, getMethod, getMethodCount, getMethods, getSourceCodeEntries, getSourceCodeEntryCount, getStaticInitializationCode, print, printClassHeaders, printConstantDefinitions, printConstructors, printInnerClasses, printMemberVariables, printMethods, printSourceCodeFragments, printStaticInitializers, removeConstant, removeConstant, removeConstructor, removeField, removeField, removeInnerClass, removeMethodModifier and TypeMethodDescriptionfinal voidaddConstant(JConstant jConstant) voidaddConstructor(JConstructor constructor) Adds the given Constructor to this classes list of constructors.final voidAdds the given JField to this JStructure.final voidAdds the given JMethod to this JClass.final voidAdds the given JMethod to this JClass.final voidaddMethods(JMethod[] jMethods) Adds the given array of JMethods to this JClass.voidaddSourceCode(String sourceCode) Adds a complete source code fragment (method) to this class.final JConstructorCreates a new JConstructor and adds it to this JClass.final JConstructorcreateConstructor(JParameter[] params) Creates a new JConstructor and adds it to this JClass.final JClasscreateInnerClass(String localname) Creates and returns an inner-class for this JClass.final JConstantgetConstant(String name) final intReturns the amount of constants.final JConstant[]final JConstructorgetConstructor(int index) Returns the constructor at the specified index.final JConstructor[]Returns the an array of the JConstructors contained within this JClass.final intfinal JFieldReturns the field with the given name, or null if no field was found with that name.final intReturns the amount of fields.final JField[]Returns an array of all the JFields of this JStructure.final intfinal JClass[]Returns an array of JClass (the inner classes) contained within this JClass.final JMethodgetMethod(int index) Returns the JMethod located at the specified index.final JMethodReturns the first occurance of the method with the given name, starting from the specified index.final intfinal JMethod[]Returns an array of all the JMethods of this JClass.String[]Returns a collection of (complete) source code fragments.final intfinal JSourceCodeReturns the JSourceCode for the static initializer of this JClass.final voidprint(JSourceWriter jsw) Deprecated.Please use the Velocity-template based approach instead.protected final voidWrites to the JSourceWriter the headers for this class file.protected final voidWrites to theJSourceWriterthe constant definitions of this class.protected final voidWrites to the JSourceWriter all constructors for this class.protected final voidWrites to the JSourceWriter all inner classes belonging to this class.protected final voidWrites to the JSourceWriter the member variables of this class.protected final voidWrites to the JSourceWriter all methods belonging to this class.protected final voidprintSourceCodeFragments(JSourceWriter sourceWriter) protected final voidWrites to the JSourceWriter any static initialization used by this class.final JConstantremoveConstant(String name) Removes the constant with the given name from thisJClass.final booleanremoveConstant(JConstant jConstant) final booleanremoveConstructor(JConstructor constructor) Removes the given constructor from this JClass.final JFieldremoveField(String name) Removes the field with the given name from this JClass.final booleanremoveField(JField jField) Removes the given JField from this JClass.final booleanremoveInnerClass(JClass jClass) Removes the given inner-class (JClass) from this JClass.final booleanremoveMethod(JMethod method) Removes the given method from this JClass.Methods inherited from class JStructure
addAnnotation, addImport, addImport, addImportInternal, addInterface, getAnnotatedElementHelper, getAnnotation, getAnnotations, getFilename, getHeader, getImportCount, getImports, getInterfaceCount, getInterfaces, getJDocComment, getModifiers, getPackageName, hasAnnotations, hasImport, isAnnotationPresent, print, printHeader, printImportDeclarations, printPackageDeclaration, removeAnnotation, removeImport, removeInterface, setHeader, toStringModifier and TypeMethodDescriptionfinal voidaddAnnotation(JAnnotation annotation) Adds a JAnnotation to this source element.protected final voidaddImport(JAnnotation annotation) Adds appropriate import for this JAnnotation.protected final voidaddImport(JAnnotation[] annotations) Adds appropriate imports for each JAnnotation in the given Array.protected final voidaddImportInternal(String className) Adds the given import to this JStructure.final voidaddInterface(String interfaceName) Adds the given interface to the list of interfaces this JStructure inherits method declarations from, and either implements (JClass) or extends (JInterface).protected final JAnnotatedElementHelperReturns the object managing the annotations for this JStructure.final JAnnotationgetAnnotation(JAnnotationType annotationType) Retrieves a JAnnotation for the given JAnnotationType, returns null if no annotation has been set.final JAnnotation[]Returns a list of JAnnotation's already set on this source element.final StringgetFilename(String destDir) Returns the name of the file that this JStructure would be printed to, given a call toJStructure.print(String, String).final JCommentReturns the JComment header to display at the top of the source file for this JStructure, or null if no header was set.final intReturns the amount of imports.final Enumeration<String> Returns an Enumeration of imported package and class names for this JStructure.final intReturn the count of the number of Interfaces that have been added to this JStructure.final Enumeration<String> Returns an Enumeration of interface names that this JStructure inherits from.final JDocCommentReturns the JavaDoc comment for this JStructure.final JModifiersReturns the JModifiers, which allows the qualifiers to be changed.final StringReturns the name of the package that this JStructure is a member of.final booleanReturns true if this source element has any annotations.final booleanReturns true if the given classname exists in the imports of this JStructure.final booleanisAnnotationPresent(JAnnotationType annotationType) Returns true if a JAnnotation exists for the given JAnnotationType.final voidPrints the source code for this JStructure to the destination directory.final voidprintHeader(JSourceWriter jsw) A utility method that prints the header to the given JSourceWriter.protected final voidA utility method that prints the imports to the given JSourceWriter.final voidA utility method that prints the packageDeclaration to the given JSourceWriter.final JAnnotationremoveAnnotation(JAnnotationType annotationType) Removes the JAnnotation from this source element for the given JAnnotationType.final booleanremoveImport(String className) Remove the import of the given class name from this JStucture, returning true if the import was found and removed.final booleanremoveInterface(String interfaceName) Removes the given interface from the list of interfaces thisJStructurehas.final voidSets the header comment for this JStructure.final StringtoString()
Returns the String representation of this JType.Methods inherited from class JType
getLocalName, getName, isArray, isPrimitive, setNameModifier and TypeMethodDescriptionfinal StringReturns the unqualified Java type name (i.e.final StringgetName()Returns the qualified Java type name.final booleanisArray()Returns true if this type represents an Array.final booleanReturns true if this type represents a Java primitive type.protected voidSets the qualified name of this type.
-
Constructor Details
-
JClass
Creates a new JClass with the given name.- Parameters:
name- The name of the JClass to create.
-
JClass
Creates a new JClass with the given name.- Parameters:
name- The name of the JClass to create.useOldFieldNaming- Whether to use old field naming conventions
-
-
Method Details
-
addImport
Adds the given import to this JStructure. Note: You cannot import from the "default package," so imports with no package are ignored.- Specified by:
addImportin classJStructure- Parameters:
className- Name of the class to import.
-
addMember
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.- Specified by:
addMemberin classJStructure- Parameters:
jMember- The JMember to add to this JStructure.
-
getSuperClass
Returns the super class that this class extends.- Returns:
- superClass The super class that this class extends.
-
getSuperClassQualifiedName
Returns the qualified name of the super class that this class extends.- Returns:
- superClass The qualified name of the super class that this class extends.
-
setSuperClass
Sets the super Class that this class extends.- Parameters:
superClass- The super Class that this Class extends.
-
print
Deprecated.Please use the Velocity-template based approach instead.Prints the source code for this JClass to the given JSourceWriter.- Specified by:
printin classAbstractJClass- Parameters:
jsw- The JSourceWriter to print to. Must not be null.classOnly- If true, the file header, package declaration, and imports are not printed.- See Also:
-
changeLocalName
Changes the local name of this class type.- Parameters:
localName- The new local name to be used.
-