com.thoughtworks.qdox.model
Class JavaSource

java.lang.Object
  extended by com.thoughtworks.qdox.model.JavaSource
All Implemented Interfaces:
JavaClassParent, java.io.Serializable

public class JavaSource
extends java.lang.Object
implements java.io.Serializable, JavaClassParent

See Also:
Serialized Form

Field Summary
private  java.util.List classes
           
private  JavaClass[] classesArray
           
private  JavaClassContext context
           
private  java.util.List imports
           
private  java.lang.String[] importsArray
           
private  JavaPackage packge
           
private static java.util.Set PRIMITIVE_TYPES
           
private  java.util.Map resolvedTypeCache
           
private  java.net.URL url
           
 
Constructor Summary
JavaSource()
           
JavaSource(JavaClassContext context)
           
 
Method Summary
 void addClass(JavaClass cls)
           
 void addImport(java.lang.String imp)
           
 JavaClass[] getClasses()
           
 ClassLibrary getClassLibrary()
           
 java.lang.String getClassNamePrefix()
           
 java.lang.String getCodeBlock()
           
 java.io.File getFile()
          Deprecated. use getURL
 java.lang.String[] getImports()
           
 JavaClassContext getJavaClassContext()
           
 JavaClass getNestedClassByName(java.lang.String name)
           
 JavaPackage getPackage()
           
 java.lang.String getPackageName()
           
 JavaSource getParentSource()
           
 java.net.URL getURL()
           
private  java.lang.String resolveFromLibrary(java.lang.String typeName)
           
private  java.lang.String resolveFullyQualifiedType(java.lang.String typeName)
           
private  java.lang.String resolveImportedType(java.lang.String importSpec, java.lang.String typeName, boolean fullMatch)
           
 java.lang.String resolveType(java.lang.String typeName)
          Resolve a type-name within the context of this source or class.
private  java.lang.String resolveTypeInternal(java.lang.String typeName)
          Resolves a type name
 void setClassLibrary(ClassLibrary classLibrary)
           
 void setFile(java.io.File file)
          Deprecated. use setURL
 void setPackage(JavaPackage packge)
           
 void setURL(java.net.URL url)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PRIMITIVE_TYPES

private static final java.util.Set PRIMITIVE_TYPES

packge

private JavaPackage packge

imports

private java.util.List imports

importsArray

private java.lang.String[] importsArray

classes

private java.util.List classes

classesArray

private JavaClass[] classesArray

context

private JavaClassContext context

resolvedTypeCache

private java.util.Map resolvedTypeCache

url

private java.net.URL url
Constructor Detail

JavaSource

public JavaSource()

JavaSource

public JavaSource(JavaClassContext context)
Method Detail

setURL

public void setURL(java.net.URL url)
Since:
1.4

getURL

public java.net.URL getURL()
Since:
1.4

setFile

public void setFile(java.io.File file)
Deprecated. use setURL


getFile

public java.io.File getFile()
Deprecated. use getURL


getPackage

public JavaPackage getPackage()

setPackage

public void setPackage(JavaPackage packge)

addImport

public void addImport(java.lang.String imp)

getImports

public java.lang.String[] getImports()

addClass

public void addClass(JavaClass cls)
Specified by:
addClass in interface JavaClassParent

getClasses

public JavaClass[] getClasses()

getJavaClassContext

public JavaClassContext getJavaClassContext()
Specified by:
getJavaClassContext in interface JavaClassParent

setClassLibrary

public void setClassLibrary(ClassLibrary classLibrary)

getCodeBlock

public java.lang.String getCodeBlock()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

resolveType

public java.lang.String resolveType(java.lang.String typeName)
Description copied from interface: JavaClassParent
Resolve a type-name within the context of this source or class.

Specified by:
resolveType in interface JavaClassParent
Parameters:
typeName - name of a type
Returns:
the fully-qualified name of the type, or null if it cannot be resolved

resolveTypeInternal

private java.lang.String resolveTypeInternal(java.lang.String typeName)
Resolves a type name

Follows the Java Language Specification, Version 3.0.

Current resolution order is:

  1. Single-Type-Import Declaration
  2. Type-Import-on-Demand Declaration
  3. Automatic Imports

Parameters:
typeName -
Returns:
Resolved type name

resolveImportedType

private java.lang.String resolveImportedType(java.lang.String importSpec,
                                             java.lang.String typeName,
                                             boolean fullMatch)

resolveFromLibrary

private java.lang.String resolveFromLibrary(java.lang.String typeName)

resolveFullyQualifiedType

private java.lang.String resolveFullyQualifiedType(java.lang.String typeName)

getClassNamePrefix

public java.lang.String getClassNamePrefix()
Specified by:
getClassNamePrefix in interface JavaClassParent

getParentSource

public JavaSource getParentSource()
Specified by:
getParentSource in interface JavaClassParent

getNestedClassByName

public JavaClass getNestedClassByName(java.lang.String name)
Specified by:
getNestedClassByName in interface JavaClassParent

getClassLibrary

public ClassLibrary getClassLibrary()
Returns:

getPackageName

public java.lang.String getPackageName()