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.

Returns:
a Collection of XClass.


getImportedPackages

public List getImportedPackages()


getInnerClasses

public List getInnerClasses()
Returns the inner classes.

Returns:
a Collection of XClass.


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.

Returns:
a Collection of XClass.


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