com.objectwave.sourceModel
Class JavaClassDef

java.lang.Object
  |
  +--com.objectwave.sourceModel.JavaClassDef

public class JavaClassDef
extends java.lang.Object

This class represents the .java file. It may contain multiple class definitions. The name of this class def will correspond to the public JavaClassInfo found in this java source file.

Author:
Dave Hoag

Field Summary
 JavaClassInfo classInfo
           
 PackageDef[] imports
           
 ClassElement[] originalElements
           
 JavaClassInfo[] otherClasses
           
 PackageDef packageDef
           
 
Constructor Summary
JavaClassDef(ClassElement[] elements)
          A java class def is assembled from a collection of ClassElements.
 
Method Summary
 JavaClassInfo[] getAllClasses()
          Get all of the classes declared in this JavaClassDef.
 java.lang.String getFullClassName()
          Really, return the full name of our main class.
 PackageDef[] getImports()
           
 java.lang.String[] getImportStrings()
          Convience method.
 JavaClassInfo getMainClass()
          You can only have 1 public class in a single JavaClassDef.
 ClassElement[] getOriginalElements()
           
 PackageDef getPackage()
           
 java.lang.String getPackageString()
          Convience method.
 boolean hasMultipleClasses()
           
static void main(java.lang.String[] args)
          TestMethod.
 void rebuildImports()
          Somebody externally may have modified the 'import' list.
 void setImports(PackageDef[] imps)
           
 void setMainClass(JavaClassInfo spec)
          You can only have 1 public class in a single JavaClassDef.
 void setOriginalElements(ClassElement[] els)
           
 void setOtherClasses(JavaClassInfo[] specs)
          Classes other than the main class defined in this JavaClassDef
 void setPackage(PackageDef def)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

originalElements

public ClassElement[] originalElements

imports

public PackageDef[] imports

packageDef

public PackageDef packageDef

classInfo

public JavaClassInfo classInfo

otherClasses

public JavaClassInfo[] otherClasses
Constructor Detail

JavaClassDef

public JavaClassDef(ClassElement[] elements)
A java class def is assembled from a collection of ClassElements. These class elements were probably obtained via some source code parsing routine. You can think of a class element as the raw data found in a file, while the JavaClassDef is a wrapper that gives it meaning.

Method Detail

getAllClasses

public JavaClassInfo[] getAllClasses()
Get all of the classes declared in this JavaClassDef.

See Also:
JavaClassInfo

getFullClassName

public java.lang.String getFullClassName()
Really, return the full name of our main class.


getImports

public PackageDef[] getImports()
See Also:
PackageDef

getImportStrings

public java.lang.String[] getImportStrings()
Convience method.


getMainClass

public JavaClassInfo getMainClass()
You can only have 1 public class in a single JavaClassDef.

See Also:
JavaClassInfo

getOriginalElements

public ClassElement[] getOriginalElements()
See Also:
ClassElement

getPackage

public PackageDef getPackage()
See Also:
PackageDef

getPackageString

public java.lang.String getPackageString()
Convience method.


hasMultipleClasses

public boolean hasMultipleClasses()
Returns:
True if there was more than 1 class defined in this java class def.

main

public static void main(java.lang.String[] args)
TestMethod.


rebuildImports

public void rebuildImports()
Somebody externally may have modified the 'import' list. We will need to update the originalElement array to reflect those changes.


setImports

public void setImports(PackageDef[] imps)
See Also:
PackageDef

setMainClass

public void setMainClass(JavaClassInfo spec)
You can only have 1 public class in a single JavaClassDef.

See Also:
JavaClassInfo

setOriginalElements

public void setOriginalElements(ClassElement[] els)
See Also:
ClassElement

setOtherClasses

public void setOtherClasses(JavaClassInfo[] specs)
Classes other than the main class defined in this JavaClassDef

See Also:
JavaClassInfo

setPackage

public void setPackage(PackageDef def)
See Also:
PackageDef