Class AbstractJClass

All Implemented Interfaces:
JAnnotatedElement
Direct Known Subclasses:
JClass

public abstract class AbstractJClass extends JStructure
A abstract base class for representations of the Java Source code for a Java Class.
Since:
1.1
Version:
$Revision: 6668 $ $Date: 2005-05-08 12:32:06 -0600 (Sun, 08 May 2005) $
Author:
Ralf Joachim
  • Constructor Details

    • AbstractJClass

      protected AbstractJClass(String name)
      Creates a new AbstractJClass with the given name.
      Parameters:
      name - The name of the AbstractJClass to create.
  • Method Details

    • getSourceCodeEntries

      public String[] getSourceCodeEntries()
      Returns a collection of (complete) source code fragments.
      Returns:
      A collection of (complete) source code fragments.
    • getStaticInitializationCode

      public final JSourceCode getStaticInitializationCode()
      Returns the JSourceCode for the static initializer of this JClass.
      Returns:
      The JSourceCode for the static initializer of this JClass.
    • getField

      public final JField getField(String name)
      Returns the field with the given name, or null if no field was found with that name.
      Specified by:
      getField in class JStructure
      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.
    • getConstant

      public final JConstant getConstant(String name)
    • getFields

      public final JField[] getFields()
      Returns an array of all the JFields of this JStructure.
      Specified by:
      getFields in class JStructure
      Returns:
      An array of all the JFields of this JStructure.
    • getConstants

      public final JConstant[] getConstants()
    • getFieldCount

      public final int getFieldCount()
      Returns the amount of fields.
      Returns:
      The amount of fields.
    • getConstantCount

      public final int getConstantCount()
      Returns the amount of constants.
      Returns:
      The amount of constants.
    • addField

      public final void addField(JField jField)
      Adds the given JField to this JStructure.
      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.
      Specified by:
      addField in class JStructure
      Parameters:
      jField - The JField to add.
    • addConstant

      public final void addConstant(JConstant jConstant)
    • removeField

      public final JField removeField(String name)
      Removes the field with the given name from this JClass.
      Parameters:
      name - The name of the field to remove.
      Returns:
      The JField if it was found and removed.
    • removeConstant

      public final JConstant removeConstant(String name)
      Removes the constant with the given name from this JClass.
      Parameters:
      name - The name of the constant to remove.
      Returns:
      The JConstant if it was found and removed.
    • removeField

      public final boolean removeField(JField jField)
      Removes the given JField from this JClass.
      Parameters:
      jField - The JField to remove.
      Returns:
      true if the field was found and removed.
    • removeConstant

      public final boolean removeConstant(JConstant jConstant)
      Removes the given JConstant from this JClass.
      Parameters:
      jConstant - The JConstant to remove.
      Returns:
      true if the constant was found and removed.
    • createConstructor

      public final JConstructor createConstructor()
      Creates a new JConstructor and adds it to this JClass.
      Returns:
      The newly created constructor.
    • createConstructor

      public final JConstructor createConstructor(JParameter[] params)
      Creates a new JConstructor and adds it to this JClass.
      Parameters:
      params - A list of parameters for this constructor.
      Returns:
      The newly created constructor.
    • getConstructor

      public final JConstructor getConstructor(int index)
      Returns the constructor at the specified index.
      Parameters:
      index - The index of the constructor to return.
      Returns:
      The JConstructor at the specified index.
    • getConstructors

      public final JConstructor[] getConstructors()
      Returns the an array of the JConstructors contained within this JClass.
      Returns:
      An array of JConstructor.
    • getContructorsCount

      public final int getContructorsCount()
    • addConstructor

      public void addConstructor(JConstructor constructor)
      Adds the given Constructor to this classes list of constructors. The constructor must have been created with this JClass' createConstructor.
      Parameters:
      constructor - The constructor to add.
    • removeConstructor

      public final boolean removeConstructor(JConstructor constructor)
      Removes the given constructor from this JClass.
      Parameters:
      constructor - The JConstructor to remove.
      Returns:
      true if the constructor was removed, otherwise false.
    • getMethods

      public final JMethod[] getMethods()
      Returns an array of all the JMethods of this JClass.
      Returns:
      An array of all the JMethods of this JClass.
    • getMethod

      public final JMethod getMethod(String name, int startIndex)
      Returns the first occurance of the method with the given name, starting from the specified index.
      Parameters:
      name - The name of the method to look for.
      startIndex - The starting index to begin the search.
      Returns:
      The method if found, otherwise null.
    • getMethod

      public final JMethod getMethod(int index)
      Returns the JMethod located at the specified index.
      Parameters:
      index - The index of the JMethod to return.
      Returns:
      The JMethod.
    • getMethodCount

      public final int getMethodCount()
    • addMethod

      public final void addMethod(JMethod jMethod, boolean importReturnType)
      Adds the given JMethod to this JClass.
      Parameters:
      jMethod - The JMethod to add.
      importReturnType - true if we add the importReturnType to the class import lists. It could be useful to set it to false when all types are fully qualified.
    • addMethod

      public final void addMethod(JMethod jMethod)
      Adds the given JMethod to this JClass.
      Parameters:
      jMethod - The JMethod to add.
    • addMethods

      public final void addMethods(JMethod[] jMethods)
      Adds the given array of JMethods to this JClass.
      Parameters:
      jMethods - The JMethod[] to add.
    • removeMethod

      public final boolean removeMethod(JMethod method)
      Removes the given method from this JClass.
      Parameters:
      method - The JMethod to remove.
      Returns:
      true if the method was removed, otherwise false.
    • createInnerClass

      public final JClass createInnerClass(String localname)
      Creates and returns an inner-class for this JClass.
      Parameters:
      localname - The name of the class (no package name).
      Returns:
      the new JClass.
    • getInnerClasses

      public final JClass[] getInnerClasses()
      Returns an array of JClass (the inner classes) contained within this JClass.
      Returns:
      An array of JClass contained within this JClass.
    • getInnerClassCount

      public final int getInnerClassCount()
    • removeInnerClass

      public final boolean removeInnerClass(JClass jClass)
      Removes the given inner-class (JClass) from this JClass.
      Parameters:
      jClass - The JClass (inner-class) to remove.
      Returns:
      true if the JClass was removed, otherwise false.
    • print

      public final void print(JSourceWriter jsw)
      Deprecated.
      Please use the Velocity-template based approach instead.
      Prints the source code for this JStructure to the given JSourceWriter.
      Specified by:
      print in class JStructure
      Parameters:
      jsw - The JSourceWriter to print to.
      See Also:
    • print

      public abstract void print(JSourceWriter jsw, boolean classOnly)
      Deprecated.
      Please use the Velocity-template based approach instead.
      Prints the source code for this JClass to the given JSourceWriter.
      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:
    • printClassHeaders

      protected final void printClassHeaders(JSourceWriter jsw)
      Writes to the JSourceWriter the headers for this class file. Headers include the comment-header, the package declaration, and the imports.
      Parameters:
      jsw - The JSourceWriter to be used.
    • printConstantDefinitions

      protected final void printConstantDefinitions(JSourceWriter jsw)
      Writes to the JSourceWriter the constant definitions of this class.
      Parameters:
      jsw - The JSourceWriter to be used.
    • printMemberVariables

      protected final void printMemberVariables(JSourceWriter jsw)
      Writes to the JSourceWriter the member variables of this class.
      Parameters:
      jsw - The JSourceWriter to be used.
    • printStaticInitializers

      protected final void printStaticInitializers(JSourceWriter jsw)
      Writes to the JSourceWriter any static initialization used by this class.
      Parameters:
      jsw - The JSourceWriter to be used.
    • printConstructors

      protected final void printConstructors(JSourceWriter jsw)
      Writes to the JSourceWriter all constructors for this class.
      Parameters:
      jsw - The JSourceWriter to be used.
    • printMethods

      protected final void printMethods(JSourceWriter jsw)
      Writes to the JSourceWriter all methods belonging to this class.
      Parameters:
      jsw - The JSourceWriter to be used.
    • printSourceCodeFragments

      protected final void printSourceCodeFragments(JSourceWriter sourceWriter)
    • printInnerClasses

      protected final void printInnerClasses(JSourceWriter jsw)
      Writes to the JSourceWriter all inner classes belonging to this class.
      Parameters:
      jsw - The JSourceWriter to be used.
    • addSourceCode

      public void addSourceCode(String sourceCode)
      Adds a complete source code fragment (method) to this class.
      Parameters:
      sourceCode - The complete source code fragment to be added.
    • getSourceCodeEntryCount

      public final int getSourceCodeEntryCount()