xjavadoc
Class BinaryClass

java.lang.Object
  extended by xjavadoc.AbstractProgramElement
      extended by xjavadoc.AbstractClass
          extended by xjavadoc.BinaryClass
All Implemented Interfaces:
java.lang.Comparable, Named, XClass, XProgramElement, XType

final class BinaryClass
extends AbstractClass

Describe what this class does

Author:
Ara Abrahamian, Aslak Helles?y

Field Summary
private  java.lang.Class _clazz
           
private  boolean _isInterfacesSet
           
private  boolean _isSuperclassSet
           
private static java.util.List _primitiveTypes
           
static int instanceCount
           
 
Fields inherited from class xjavadoc.AbstractProgramElement
EMPTY_LIST
 
Constructor Summary
BinaryClass(XJavaDoc xJavaDoc, java.lang.Class clazz)
           
 
Method Summary
private static int getDimension(java.lang.Class c)
           
 java.util.List getInterfaces()
          Returns all the implemented interfaces (if this is a class) or all the extended interfaces (if this is an interface)
 XClass getSuperclass()
          Describe what the method does
private static java.lang.String getTypeName(java.lang.Class c)
           
private  boolean isClassImplementingInterface(java.lang.Class cur_class, java.lang.String full_qualified_type_name, boolean superclasses)
           
 boolean isImplementingInterface(java.lang.String full_qualified_type_name, boolean superclasses)
          Returns true if it implements full_qualified_type_name (or recursively superclasses implement, if superclasses==true).
 boolean isPrimitive()
          Returns true if this class is a primitive.
 boolean isSubclassOf(java.lang.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()
          whether this class is writeable an can be save ( it can not )
private  void populateExecutableMember(AbstractExecutableMember executableMember, java.lang.reflect.AccessibleObject accessibleObject)
           
 boolean saveNeeded()
          this class is not intended to be saved
private  void setConstructors(java.lang.Class clazz)
          Discovers constructors.
 void setDirty()
          no op since we do not save binary classes
private  void setInterfacesMaybe()
           
private  void setMethods(java.lang.Class clazz)
          Discovers constructors.
private  void setSuperclassMaybe()
           
 
Methods inherited from class xjavadoc.AbstractClass
addConstructor, addField, addImportedClass, addImportedPackage, addInnerClass, addInterface, addMethod, compareTo, equals, getAllSubclasses, getConstructor, getConstructors, getContainingPackage, getDeclaredInterfaces, getDirectSubclasses, getExtendingInterfaces, getField, getFields, getFields, getFields, getImplementingClasses, getImportedClasses, getImportedPackages, getInnerClasses, getMethod, getMethod, getMethods, getMethods, getMethods, getMethodTags, getName, getQualifiedName, getSuperElement, getSuperInterfaceElements, getTransformedName, getTransformedQualifiedName, getType, hashCode, hasImportedClasses, hasImportedPackages, hasInnerClasses, isA, isA, isAnonymous, isImplementingInterface, isInner, isInterface, isSubclassOf, lastModified, qualify, reset, resolveImportedClasses, save, setContainingPackage, setInterface, setName, setQualifiedName, setRealised, setSuperclass, toString, updateDoc
 
Methods inherited from class xjavadoc.AbstractProgramElement
addModifier, getContainingAbstractClass, getContainingClass, getDoc, getModifiers, getModifierSpecifier, getTagFactory, getXJavaDoc, isAbstract, isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, setToken
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface xjavadoc.XClass
getContainingClass, isAbstract
 
Methods inherited from interface xjavadoc.XProgramElement
getDoc, getModifiers, getModifierSpecifier, getXJavaDoc, isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic
 

Field Detail

instanceCount

public static int instanceCount

_primitiveTypes

private static final java.util.List _primitiveTypes

_clazz

private final java.lang.Class _clazz

_isSuperclassSet

private boolean _isSuperclassSet

_isInterfacesSet

private boolean _isInterfacesSet
Constructor Detail

BinaryClass

public BinaryClass(XJavaDoc xJavaDoc,
                   java.lang.Class clazz)
Method Detail

getDimension

private static int getDimension(java.lang.Class c)

getTypeName

private static java.lang.String getTypeName(java.lang.Class c)

getSuperclass

public XClass getSuperclass()
Description copied from class: AbstractClass
Describe what the method does

Specified by:
getSuperclass in interface XClass
Overrides:
getSuperclass in class AbstractClass
Returns:
Describe the return value for method for return value

getInterfaces

public java.util.List getInterfaces()
Description copied from class: AbstractClass
Returns all the implemented interfaces (if this is a class) or all the extended interfaces (if this is an interface)

Specified by:
getInterfaces in interface XClass
Overrides:
getInterfaces in class AbstractClass
Returns:
Describe the return value for method for return value

isWriteable

public boolean isWriteable()
whether this class is writeable an can be save ( it can not )

Returns:
false since this class can not be mutated or saved

isImplementingInterface

public boolean isImplementingInterface(java.lang.String full_qualified_type_name,
                                       boolean superclasses)
Description copied from interface: XClass
Returns true if it implements full_qualified_type_name (or recursively superclasses implement, if superclasses==true).

Specified by:
isImplementingInterface in interface XClass
Overrides:
isImplementingInterface in class AbstractClass
Parameters:
full_qualified_type_name - Describe what the parameter does
superclasses - Looks in superclasses too if true
Returns:
Describe the return value

isSubclassOf

public boolean isSubclassOf(java.lang.String full_qualified_type_name,
                            boolean superclasses)
Description copied from interface: XClass
Returns true if the superclass (or recursively superclass of superclass, if superclasses==true) is full_qualified_type_name.

Specified by:
isSubclassOf in interface XClass
Overrides:
isSubclassOf in class AbstractClass
Parameters:
full_qualified_type_name - Describe what the parameter does
superclasses - Looks in superclasses too if true
Returns:
Describe the return value

isPrimitive

public boolean isPrimitive()
Description copied from interface: XClass
Returns true if this class is a primitive. That is, one of the following:

Returns:
true if a primitive

setDirty

public void setDirty()
no op since we do not save binary classes


saveNeeded

public boolean saveNeeded()
this class is not intended to be saved

Returns:
always false

isClassImplementingInterface

private boolean isClassImplementingInterface(java.lang.Class cur_class,
                                             java.lang.String full_qualified_type_name,
                                             boolean superclasses)

setSuperclassMaybe

private void setSuperclassMaybe()

setInterfacesMaybe

private void setInterfacesMaybe()

setConstructors

private void setConstructors(java.lang.Class clazz)
Discovers constructors. This method is currently never called

Parameters:
clazz -

setMethods

private void setMethods(java.lang.Class clazz)
Discovers constructors. This method is currently never called

Parameters:
clazz -

populateExecutableMember

private void populateExecutableMember(AbstractExecutableMember executableMember,
                                      java.lang.reflect.AccessibleObject accessibleObject)