xjavadoc

Interface XClass

All Superinterfaces:
Comparable, Named, XProgramElement, XType
Known Implementing Classes:
AbstractClass, BinaryClass, Primitive, SourceClass, UnknownClass

public interface XClass
extends XType

This class represents any type: source class, binary class or primitive type.
Author:
Aslak Helles?y

Method Summary

List
getAllSubclasses()
Returns the (known) subclasses, regardless of how deep in the class hierarchy.
XConstructor
getConstructor(String constructorNameWithSignature)
Gets the constructor with the given signature.
List
getConstructors()
XClass
getContainingClass()
Returns the containing class, if this is an inner class.
XPackage
getContainingPackage()
Returns the package this class lives in.
List
getDirectSubclasses()
Returns the (known) direct subclasses.
List
getExtendingInterfaces()
Return the (known) interfaces that extend this interface.
XField
getField(String name)
List
getFields()
List
getFields(boolean superclasses)
List
getImplementingClasses()
Return the (known) classes that implement this interface.
List
getImportedClasses()
Returns the imported classes.
List
getImportedPackages()
List
getInnerClasses()
Returns the inner classes.
List
getInterfaces()
Returns all the interfaces implemented by this class.
XMethod
getMethod(String methodNameWithSignature)
XMethod
getMethod(String methodNameWithSignature, boolean superclasses)
Returns an XMethod with the given name and parameters.
List
getMethodTags(String tagName, boolean superclasses)
Returns a collection of tags from the methods in this class (or superclasses).
List
getMethods()
Returns all the methods, not including superclasses
List
getMethods(Predicate predicate, boolean superclasses)
Returns all the methods that are accepted by the filter.
List
getMethods(boolean superclasses)
Returns all the methods.
String
getQualifiedName()
Gets the qualified class name.
XClass
getSuperclass()
Return superclass of this class.
String
getTransformedName()
Gets the transformed class name, for example: Character$Subset
String
getTransformedQualifiedName()
Gets the transformed qualified class name, for example: java.lang.Character$Subset
String
getType()
Gets the type, e.g.
boolean
isA(String full_qualified_type_name)
Returns true if we are subclass or implement the class/interface with the name classOrInterfaceName
boolean
isA(String full_qualified_type_name, boolean superclases)
Returns true if we are subclass or implement the class/interface with the name classOrInterfaceName
boolean
isAbstract()
boolean
isAnonymous()
Returns true if this class is anonymous.
boolean
isImplementingInterface(String full_qualified_type_name)
Returns true if it implements full_qualified_type_name (or recursively superclasses implement).
boolean
isImplementingInterface(String full_qualified_type_name, boolean superclasses)
Returns true if it implements full_qualified_type_name (or recursively superclasses implement, if superclasses==true).
boolean
isInner()
Returns true if this is an inner class.
boolean
isInterface()
boolean
isPrimitive()
Returns true if this class is a primitive.
boolean
isSubclassOf(String full_qualified_type_name)
Returns true if the superclass (or recursively superclass of superclass) is full_qualified_type_name.
boolean
isSubclassOf(String full_qualified_type_name, boolean superclasses)
Returns true if the superclass (or recursively superclass of superclass, if superclasses==true) is full_qualified_type_name.
boolean
isWriteable()
Returns true if this instance can be saved.
long
lastModified()
XClass
qualify(String unqualifiedClassName)
String
save(File rootDir)
boolean
saveNeeded()
whether class needs saving
void
setDirty()
mark this class dirty for saving

Methods inherited from interface xjavadoc.Named

getName

Methods inherited from interface xjavadoc.XProgramElement

getContainingClass, getContainingPackage, getDoc, getModifierSpecifier, getModifiers, getSuperElement, getSuperInterfaceElements, getXJavaDoc, isAbstract, isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, updateDoc

Method Details

getAllSubclasses

public List getAllSubclasses()
Returns the (known) subclasses, regardless of how deep in the class hierarchy. If this instance represents an interface, UnsupportedOperationException will be thrown. This can be avoided by testing with isInterface() prior to calling this method.
Returns:
the (known) subclasses

getConstructor

public XConstructor getConstructor(String constructorNameWithSignature)
Gets the constructor with the given signature.
Parameters:
constructorNameWithSignature - the signature of the constructor, e.g. Foo(int,java.lang.String)>/code>.
Returns:
the constructor.

getConstructors

public List getConstructors()

getContainingClass

public XClass getContainingClass()
Returns the containing class, if this is an inner class.
Specified by:
getContainingClass in interface XProgramElement
Returns:
the containing class.

getContainingPackage

public XPackage getContainingPackage()
Returns the package this class lives in.
Specified by:
getContainingPackage in interface XProgramElement
Returns:
the package this class lives in.

getDirectSubclasses

public List getDirectSubclasses()
Returns the (known) direct subclasses. If this instance represents an interface, UnsupportedOperationException will be thrown. This can be avoided by testing with isInterface() prior to calling this method.
Returns:
the (known) subclasses

getExtendingInterfaces

public List getExtendingInterfaces()
Return the (known) interfaces that extend this interface. If this instance represents a class, an UnsupportedOperationException will be thrown. This can be avoided by testing with isInterface() prior to calling this method.
Returns:
the (known) extending interfaces

getField

public XField getField(String name)

getFields

public List getFields()

getFields

public List getFields(boolean superclasses)

getImplementingClasses

public List getImplementingClasses()
Return the (known) classes that implement this interface. If this instance represents a class, an UnsupportedOperationException will be thrown. This can be avoided by testing with isInterface() prior to calling this method.
Returns:
the (known) subinterfaces

getImportedClasses

public List getImportedClasses()
Returns the imported classes.

getImportedPackages

public List getImportedPackages()

getInnerClasses

public List getInnerClasses()
Returns the inner classes.

getInterfaces

public List getInterfaces()
Returns all the interfaces implemented by this class. If this class represents an interface, it will return all the interfaces that this interface extends.

getMethod

public XMethod getMethod(String methodNameWithSignature)
Parameters:
methodNameWithSignature -
Returns:
The XMethod if found, otherwise null

getMethod

public XMethod getMethod(String methodNameWithSignature,
                         boolean superclasses)
Returns an XMethod with the given name and parameters. Example: getMethod("hello",new String[]{"java.lang.String","int"});
Parameters:
methodNameWithSignature - Describe what the parameter does
superclasses - Looks in superclasses too if true
Returns:
The XMethod if found, otherwise null

getMethodTags

public List getMethodTags(String tagName,
                          boolean superclasses)
Returns a collection of tags from the methods in this class (or superclasses).
Parameters:
tagName -
superclasses -
Returns:
a List of XTag. If no tags are found, an empty List is returned.

getMethods

public List getMethods()
Returns all the methods, not including superclasses
Returns:
A collection of XMethod objects

getMethods

public List getMethods(Predicate predicate,
                       boolean superclasses)
Returns all the methods that are accepted by the filter.
Parameters:
predicate -
superclasses - if true, include methods from superclasses too.
Returns:
A collection of XMethod objects

getMethods

public List getMethods(boolean superclasses)
Returns all the methods.
Parameters:
superclasses - if true, include methods from superclasses and interfaces too.
Returns:
A collection of XMethod objects

getQualifiedName

public String getQualifiedName()
Gets the qualified class name.
Returns:
the qualified class name.

getSuperclass

public XClass getSuperclass()
Return superclass of this class. If this class represents an interface, null will be returned.
Returns:
superclass of this class

getTransformedName

public String getTransformedName()
Gets the transformed class name, for example: Character$Subset
Returns:
the transformed class name.

getTransformedQualifiedName

public String getTransformedQualifiedName()
Gets the transformed qualified class name, for example: java.lang.Character$Subset
Returns:
the transformed qualified class name.

getType

public String getType()
Gets the type, e.g. java.lang.String.class or java.lang.Integer.TYPE .
Returns:
the qualified class name.

isA

public boolean isA(String full_qualified_type_name)
Returns true if we are subclass or implement the class/interface with the name classOrInterfaceName
Parameters:
full_qualified_type_name - The full qualified type name
Returns:
true if of the specified type; false otherwise

isA

public boolean isA(String full_qualified_type_name,
                   boolean superclases)
Returns true if we are subclass or implement the class/interface with the name classOrInterfaceName
Parameters:
full_qualified_type_name - The full qualified type name
superclases - whether the isA search should search the whole hierarchy
Returns:
true if of the specified type; false otherwise

isAbstract

public boolean isAbstract()
Specified by:
isAbstract in interface XProgramElement

isAnonymous

public boolean isAnonymous()
Returns true if this class is anonymous.
Returns:
true if this class is anonymous.

isImplementingInterface

public boolean isImplementingInterface(String full_qualified_type_name)
Returns true if it implements full_qualified_type_name (or recursively superclasses implement).
Parameters:
full_qualified_type_name - Describe what the parameter does
Returns:
Describe the return value

isImplementingInterface

public boolean isImplementingInterface(String full_qualified_type_name,
                                       boolean superclasses)
Returns true if it implements full_qualified_type_name (or recursively superclasses implement, if superclasses==true).
Parameters:
full_qualified_type_name - Describe what the parameter does
superclasses - Looks in superclasses too if true
Returns:
Describe the return value

isInner

public boolean isInner()
Returns true if this is an inner class.
Returns:
true if this is an inner class.

isInterface

public boolean isInterface()

isPrimitive

public boolean isPrimitive()
Returns true if this class is a primitive. That is, one of the following:
  • boolean
  • byte
  • char
  • double
  • float
  • int
  • long
  • short
  • java.lang.Boolean
  • java.lang.Byte
  • java.lang.Character
  • java.lang.Double
  • java.lang.Float
  • java.lang.Integer
  • java.lang.Long
  • java.lang.Short
  • java.lang.String
Returns:
true if a primitive

isSubclassOf

public boolean isSubclassOf(String full_qualified_type_name)
Returns true if the superclass (or recursively superclass of superclass) is full_qualified_type_name.
Parameters:
full_qualified_type_name - Describe what the parameter does
Returns:
Describe the return value

isSubclassOf

public boolean isSubclassOf(String full_qualified_type_name,
                            boolean superclasses)
Returns true if the superclass (or recursively superclass of superclass, if superclasses==true) is full_qualified_type_name.
Parameters:
full_qualified_type_name - Describe what the parameter does
superclasses - Looks in superclasses too if true
Returns:
Describe the return value

isWriteable

public boolean isWriteable()
Returns true if this instance can be saved.
Returns:
The Writeable value

lastModified

public long lastModified()
Returns:
the time that this class was last modified

qualify

public XClass qualify(String unqualifiedClassName)

save

public String save(File rootDir)
            throws IOException

saveNeeded

public boolean saveNeeded()
whether class needs saving
Returns:
true if save needed

setDirty

public void setDirty()
mark this class dirty for saving