Package edu.umd.cs.findbugs.model
Class ClassFeatureSet
java.lang.Object
edu.umd.cs.findbugs.model.ClassFeatureSet
- All Implemented Interfaces:
XMLWriteable
Features of a class which may be used to identify it if it is renamed or
modified.
- Author:
- David Hovemeyer
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final double
Similarity of classes which don't have enough features to match exactly, but whose class names match exactly.static final String
static final String
static final String
static final int
Minimum code length required to add a CodeLength feature.static final int
Minimum number of features which must be present in order to declare two classes similar.static final double
Minimum similarity required to declare two classes similar. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addFeature
(String feature) int
boolean
hasFeature
(String feature) initialize
(org.apache.bcel.classfile.JavaClass javaClass) Initialize from given JavaClass.boolean
static boolean
Return true if classes in the given package is unlikely to be renamed: e.g., because they are part of a public API.static void
void
setClassName
(String className) void
setInterface
(boolean isInterface) static double
boolean
similarTo
(ClassFeatureSet other) static String
transformClassName
(String className) Transform a class name by stripping its package name.static String
transformMethodSignature
(String signature) Transform a method signature to allow it to be compared even if any of its parameter types are moved to another package.static String
transformSignature
(String signature) Transform a field or method parameter signature to allow it to be compared even if it is moved to another package.void
Write this object to given XMLOutput.
-
Field Details
-
CLASS_NAME_KEY
- See Also:
-
METHOD_NAME_KEY
- See Also:
-
CODE_LENGTH_KEY
- See Also:
-
FIELD_NAME_KEY
- See Also:
-
MIN_CODE_LENGTH
public static final int MIN_CODE_LENGTHMinimum code length required to add a CodeLength feature.- See Also:
-
MIN_FEATURES
public static final int MIN_FEATURESMinimum number of features which must be present in order to declare two classes similar.- See Also:
-
MIN_MATCH
public static final double MIN_MATCHMinimum similarity required to declare two classes similar.- See Also:
-
EXACT_CLASS_NAME_MATCH
public static final double EXACT_CLASS_NAME_MATCHSimilarity of classes which don't have enough features to match exactly, but whose class names match exactly.- See Also:
-
ELEMENT_NAME
- See Also:
-
FEATURE_ELEMENT_NAME
- See Also:
-
-
Constructor Details
-
ClassFeatureSet
public ClassFeatureSet()Constructor. Creates an empty feature set.
-
-
Method Details
-
initialize
Initialize from given JavaClass.- Parameters:
javaClass
- the JavaClass- Returns:
- this object
-
getClassName
- Returns:
- Returns the className.
-
setClassName
- Parameters:
className
- The className to set.
-
isInterface
public boolean isInterface()- Returns:
- Returns the isInterface.
-
setInterface
public void setInterface(boolean isInterface) - Parameters:
isInterface
- The isInterface to set.
-
getNumFeatures
public int getNumFeatures() -
addFeature
-
featureIterator
-
hasFeature
-
transformClassName
Transform a class name by stripping its package name.- Parameters:
className
- a class name- Returns:
- the transformed class name
-
isUnlikelyToBeRenamed
Return true if classes in the given package is unlikely to be renamed: e.g., because they are part of a public API.- Parameters:
pkg
- the package name- Returns:
- true if classes in the package is unlikely to be renamed
-
transformMethodSignature
Transform a method signature to allow it to be compared even if any of its parameter types are moved to another package.- Parameters:
signature
- a method signature- Returns:
- the transformed signature
-
transformSignature
Transform a field or method parameter signature to allow it to be compared even if it is moved to another package.- Parameters:
signature
- the signature- Returns:
- the transformed signature
-
similarity
-
similarTo
-
main
- Throws:
Exception
-
writeXML
Description copied from interface:XMLWriteable
Write this object to given XMLOutput.- Specified by:
writeXML
in interfaceXMLWriteable
- Parameters:
xmlOutput
- the XMLOutput for the document- Throws:
IOException
-