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 int
APPLICATION_CLASS
private ClassDescriptor
classDescriptor
private ClassVertex
directSuperclass
private static int
FINISHED
private int
flags
private static int
INTERFACE
private XClass
xclass
-
Constructor Summary
Constructors Modifier Constructor Description private
ClassVertex(ClassDescriptor classDescriptor, boolean isInterfaceEdge)
private
ClassVertex(ClassDescriptor classDescriptor, XClass xclass)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ClassVertex
createMissingClassVertex(ClassDescriptor classDescriptor, boolean isInterface)
Factory method for ClassVertex objects representing missing classes.static ClassVertex
createResolvedClassVertex(ClassDescriptor classDescriptor, XClass xclass)
Factory method for resolved ClassVertex objects.boolean
equals(java.lang.Object o)
ClassDescriptor
getClassDescriptor()
ClassVertex
getDirectSuperclass()
XClass
getXClass()
int
hashCode()
boolean
isApplicationClass()
boolean
isFinished()
private boolean
isFlagSet(int flag)
boolean
isInterface()
boolean
isResolved()
Return true if this ClassVertex corresponds to a resolved class, or false if the class could not be found.void
markAsApplicationClass()
Mark this ClassVertex as representing an application class.void
setDirectSuperclass(ClassVertex target)
Set the ClassVertex representing the direct superclass.void
setFinished(boolean finished)
private void
setFlag(int flag, boolean enable)
private void
setInterface()
Mark this ClassVertex as representing an interface.java.lang.String
toString()
-
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:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classAbstractVertex<InheritanceEdge,ClassVertex>
-
hashCode
public int hashCode()
- Overrides:
hashCode
in 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)
-
-