Package edu.umd.cs.findbugs.ba.ch
Class ClassVertex
- java.lang.Object
-
- edu.umd.cs.findbugs.graph.AbstractVertex<InheritanceEdge,ClassVertex>
-
- edu.umd.cs.findbugs.ba.ch.ClassVertex
-
- All Implemented Interfaces:
GraphVertex<ClassVertex>,java.lang.Comparable<ClassVertex>
class ClassVertex extends AbstractVertex<InheritanceEdge,ClassVertex>
Vertex class - represents a class or interface in the InheritanceGraph. Edges connect subtypes to supertypes.
-
-
Field Summary
Fields Modifier and Type Field Description private static intAPPLICATION_CLASSprivate ClassDescriptorclassDescriptorprivate ClassVertexdirectSuperclassprivate static intFINISHEDprivate intflagsprivate static intINTERFACEprivate XClassxclass
-
Constructor Summary
Constructors Modifier Constructor Description privateClassVertex(ClassDescriptor classDescriptor, boolean isInterfaceEdge)privateClassVertex(ClassDescriptor classDescriptor, XClass xclass)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ClassVertexcreateMissingClassVertex(ClassDescriptor classDescriptor, boolean isInterface)Factory method for ClassVertex objects representing missing classes.static ClassVertexcreateResolvedClassVertex(ClassDescriptor classDescriptor, XClass xclass)Factory method for resolved ClassVertex objects.booleanequals(java.lang.Object o)ClassDescriptorgetClassDescriptor()ClassVertexgetDirectSuperclass()XClassgetXClass()inthashCode()booleanisApplicationClass()booleanisFinished()private booleanisFlagSet(int flag)booleanisInterface()booleanisResolved()Return true if this ClassVertex corresponds to a resolved class, or false if the class could not be found.voidmarkAsApplicationClass()Mark this ClassVertex as representing an application class.voidsetDirectSuperclass(ClassVertex target)Set the ClassVertex representing the direct superclass.voidsetFinished(boolean finished)private voidsetFlag(int flag, boolean enable)private voidsetInterface()Mark this ClassVertex as representing an interface.java.lang.StringtoString()-
Methods inherited from class edu.umd.cs.findbugs.graph.AbstractVertex
compareTo, getLabel, setLabel
-
-
-
-
Field Detail
-
FINISHED
private static final int FINISHED
- See Also:
- Constant Field Values
-
APPLICATION_CLASS
private static final int APPLICATION_CLASS
- See Also:
- Constant Field Values
-
INTERFACE
private static final int INTERFACE
- See Also:
- Constant Field Values
-
classDescriptor
private final ClassDescriptor classDescriptor
-
xclass
@CheckForNull private final XClass xclass
-
flags
private int flags
-
directSuperclass
private ClassVertex directSuperclass
-
-
Constructor Detail
-
ClassVertex
private ClassVertex(ClassDescriptor classDescriptor, XClass xclass)
-
ClassVertex
private ClassVertex(ClassDescriptor classDescriptor, boolean isInterfaceEdge)
-
-
Method Detail
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classAbstractVertex<InheritanceEdge,ClassVertex>
-
hashCode
public int hashCode()
- Overrides:
hashCodein classAbstractVertex<InheritanceEdge,ClassVertex>
-
createResolvedClassVertex
public static ClassVertex createResolvedClassVertex(ClassDescriptor classDescriptor, XClass xclass)
Factory method for resolved ClassVertex objects.- Parameters:
classDescriptor- ClassDescriptor naming the class or interfacexclass- object containing information about a class or interface- Returns:
- ClassVertex
-
createMissingClassVertex
public static ClassVertex createMissingClassVertex(ClassDescriptor classDescriptor, boolean isInterface)
Factory method for ClassVertex objects representing missing classes.- Parameters:
classDescriptor- ClassDescriptor naming the missing class or interfaceisInterface- true if missing class is an interface, false otherwise- Returns:
- ClassVertex
-
getClassDescriptor
public ClassDescriptor getClassDescriptor()
- Returns:
- Returns the classDescriptor.
-
getXClass
@Nullable public XClass getXClass()
- Returns:
- Returns the xClass.
-
isResolved
public boolean isResolved()
Return true if this ClassVertex corresponds to a resolved class, or false if the class could not be found.
-
setFinished
public void setFinished(boolean finished)
- Parameters:
finished- The finished to set.
-
isFinished
public boolean isFinished()
- Returns:
- Returns the finished.
-
markAsApplicationClass
public void markAsApplicationClass()
Mark this ClassVertex as representing an application class.
-
isApplicationClass
public boolean isApplicationClass()
- Returns:
- true if this ClassVertex represents an application class, false otherwise
-
setInterface
private void setInterface()
Mark this ClassVertex as representing an interface.
-
isInterface
public boolean isInterface()
- Returns:
- true if this ClassVertex represents an interface, false otherwise
-
setDirectSuperclass
public void setDirectSuperclass(ClassVertex target)
Set the ClassVertex representing the direct superclass.- Parameters:
target- ClassVertex representing the direct superclass.
-
getDirectSuperclass
public ClassVertex getDirectSuperclass()
- Returns:
- Returns the directSuperclass.
-
setFlag
private void setFlag(int flag, boolean enable)
-
isFlagSet
private boolean isFlagSet(int flag)
-
-