com.thoughtworks.qdox.model

Class JavaClass

Implemented Interfaces:
Comparable, JavaClassParent, Serializable

public class JavaClass
extends AbstractInheritableJavaEntity
implements JavaClassParent

Authors:
Joe Walnes
Aslak Hellesøy

Field Summary

private static Type
OBJECT
private List
classes
private JavaClass[]
classesArray
private List
fields
private JavaField[]
fieldsArray
private Type[]
implementz
private boolean
interfce
private JavaClassCache
javaClassCache
private List
methods
private JavaMethod[]
methodsArray
private Type
superClass
private Type
type

Fields inherited from class com.thoughtworks.qdox.model.AbstractJavaEntity

comment, lineNumber, modifiers, name, parent, tags

Constructor Summary

JavaClass(JavaClassParent parent)
JavaClass(JavaClassParent parent, int lineNumber)

Method Summary

void
addClass(JavaClass cls)
void
addField(JavaField javaField)
void
addMethod(JavaMethod meth)
private void
addMethodsFromSuperclassAndInterfaces(Set signatures, List methodList, JavaClass clazz)
private void
addNewMethods(Set signatures, List methodList, JavaMethod[] methods)
private void
addNewTags(List list, DocletTag[] tags)
private void
addTagsRecursive(List result, JavaClass javaClass, String name, boolean superclasses)
Type
asType()
int
compareTo(Object o)
BeanProperty[]
getBeanProperties()
Gets bean properties without looking in superclasses or interfaces.
BeanProperty[]
getBeanProperties(boolean superclasses)
BeanProperty
getBeanProperty(String propertyName)
Gets bean property without looking in superclasses or interfaces.
BeanProperty
getBeanProperty(String propertyName, boolean superclasses)
private Map
getBeanPropertyMap(boolean superclasses)
ClassLibrary
getClassLibrary()
String
getClassNamePrefix()
JavaClass[]
getClasses()
Deprecated. Use getInnerClasses() instead.
JavaClass[]
getDerivedClasses()
Gets the known derived classes.
JavaField
getFieldByName(String name)
JavaField[]
getFields()
String
getFullyQualifiedName()
JavaClass[]
getImplementedInterfaces()
Type[]
getImplements()
JavaClass
getInnerClassByName(String name)
JavaClass[]
getInnerClasses()
JavaMethod
getMethodBySignature(String name, Type[] parameterTypes)
JavaMethod
getMethodBySignature(String name, Type[] parameterTypes, boolean superclasses)
JavaMethod[]
getMethods()
JavaMethod[]
getMethods(boolean superclasses)
JavaMethod[]
getMethodsBySignature(String name, Type[] parameterTypes, boolean superclasses)
private BeanProperty
getOrCreateProperty(Map beanPropertyMap, String propertyName)
String
getPackage()
JavaSource
getParentSource()
Type
getSuperClass()
JavaClass
getSuperJavaClass()
Shorthand for getSuperClass().getJavaClass() with null checking.
DocletTag[]
getTagsByName(String name, boolean superclasses)
boolean
isA(String fullClassName)
boolean
isA(JavaClass javaClass)
boolean
isInner()
boolean
isInterface()
Interface or class?
String
resolveType(String typeName)
void
setImplementz(Type[] implementz)
void
setInterface(boolean interfce)
void
setJavaClassCache(JavaClassCache javaClassCache)
void
setSuperClass(Type type)
protected void
writeBody(IndentBuffer result)

Methods inherited from class com.thoughtworks.qdox.model.AbstractInheritableJavaEntity

getTagByName, getTagsByName

Methods inherited from class com.thoughtworks.qdox.model.AbstractJavaEntity

commentHeader, getComment, getLineNumber, getModifiers, getName, getNamedParameter, getParent, getSource, getTagByName, getTags, getTagsByName, isAbstract, isFinal, isModifierPresent, isNative, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSynchronized, isTransient, isVolatile, setComment, setModifiers, setName, setTags, toString, write, writeAccessibilityModifier, writeAllModifiers, writeBody, writeNonAccessibilityModifiers

Field Details

OBJECT

private static Type OBJECT

classes

private List classes

classesArray

private JavaClass[] classesArray

fields

private List fields

fieldsArray

private JavaField[] fieldsArray

implementz

private Type[] implementz

interfce

private boolean interfce

javaClassCache

private JavaClassCache javaClassCache

methods

private List methods

methodsArray

private JavaMethod[] methodsArray

superClass

private Type superClass

type

private Type type

Constructor Details

JavaClass

public JavaClass(JavaClassParent parent)

JavaClass

public JavaClass(JavaClassParent parent,
                 int lineNumber)

Method Details

addClass

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

addField

public void addField(JavaField javaField)

addMethod

public void addMethod(JavaMethod meth)

addMethodsFromSuperclassAndInterfaces

private void addMethodsFromSuperclassAndInterfaces(Set signatures,
                                                   List methodList,
                                                   JavaClass clazz)

addNewMethods

private void addNewMethods(Set signatures,
                           List methodList,
                           JavaMethod[] methods)

addNewTags

private void addNewTags(List list,
                        DocletTag[] tags)

addTagsRecursive

private void addTagsRecursive(List result,
                              JavaClass javaClass,
                              String name,
                              boolean superclasses)

asType

public Type asType()

compareTo

public int compareTo(Object o)

getBeanProperties

public BeanProperty[] getBeanProperties()
Gets bean properties without looking in superclasses or interfaces.
Since:
1.3

getBeanProperties

public BeanProperty[] getBeanProperties(boolean superclasses)
Since:
1.3

getBeanProperty

public BeanProperty getBeanProperty(String propertyName)
Gets bean property without looking in superclasses or interfaces.
Since:
1.3

getBeanProperty

public BeanProperty getBeanProperty(String propertyName,
                                    boolean superclasses)
Since:
1.3

getBeanPropertyMap

private Map getBeanPropertyMap(boolean superclasses)

getClassLibrary

public ClassLibrary getClassLibrary()
Specified by:
getClassLibrary in interface JavaClassParent

getClassNamePrefix

public String getClassNamePrefix()
Specified by:
getClassNamePrefix in interface JavaClassParent

getClasses

public JavaClass[] getClasses()

Deprecated. Use getInnerClasses() instead.


getDerivedClasses

public JavaClass[] getDerivedClasses()
Gets the known derived classes. That is, subclasses or implementing classes.
Returns:

getFieldByName

public JavaField getFieldByName(String name)

getFields

public JavaField[] getFields()

getFullyQualifiedName

public String getFullyQualifiedName()

getImplementedInterfaces

public JavaClass[] getImplementedInterfaces()
Since:
1.3

getImplements

public Type[] getImplements()

getInnerClassByName

public JavaClass getInnerClassByName(String name)

getInnerClasses

public JavaClass[] getInnerClasses()
Since:
1.3

getMethodBySignature

public JavaMethod getMethodBySignature(String name,
                                       Type[] parameterTypes)
Parameters:
name - method name
parameterTypes - parameter types or null if there are no parameters.
Returns:
the matching method or null if no match is found.

getMethodBySignature

public JavaMethod getMethodBySignature(String name,
                                       Type[] parameterTypes,
                                       boolean superclasses)

getMethods

public JavaMethod[] getMethods()

getMethods

public JavaMethod[] getMethods(boolean superclasses)
Since:
1.3

getMethodsBySignature

public JavaMethod[] getMethodsBySignature(String name,
                                          Type[] parameterTypes,
                                          boolean superclasses)

getOrCreateProperty

private BeanProperty getOrCreateProperty(Map beanPropertyMap,
                                         String propertyName)

getPackage

public String getPackage()

getParentSource

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

getSuperClass

public Type getSuperClass()

getSuperJavaClass

public JavaClass getSuperJavaClass()
Shorthand for getSuperClass().getJavaClass() with null checking.

getTagsByName

public DocletTag[] getTagsByName(String name,
                                 boolean superclasses)
Overrides:
getTagsByName in interface AbstractInheritableJavaEntity

isA

public boolean isA(String fullClassName)
Since:
1.3

isA

public boolean isA(JavaClass javaClass)
Since:
1.3

isInner

public boolean isInner()
Since:
1.3

isInterface

public boolean isInterface()
Interface or class?

resolveType

public String resolveType(String typeName)
Specified by:
resolveType in interface JavaClassParent

setImplementz

public void setImplementz(Type[] implementz)

setInterface

public void setInterface(boolean interfce)

setJavaClassCache

public void setJavaClassCache(JavaClassCache javaClassCache)

setSuperClass

public void setSuperClass(Type type)

writeBody

protected void writeBody(IndentBuffer result)
Overrides:
writeBody in interface AbstractJavaEntity