Package edu.umd.cs.findbugs.util
Class ClassName
- java.lang.Object
-
- edu.umd.cs.findbugs.util.ClassName
-
public abstract class ClassName extends java.lang.Object
Utility methods for working with class names.- Author:
- David Hovemeyer
-
-
Constructor Summary
Constructors Constructor Description ClassName()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
assertIsDotted(java.lang.String className)
static void
assertIsSlashed(java.lang.String className)
static java.lang.String
extractClassName(java.lang.String originalName)
Extract a slashed classname from a JVM classname or signature.static java.lang.String
extractPackageName(java.lang.String className)
extract the package name from a dotted class name.static java.lang.String
extractPackagePrefix(java.lang.String packageName, int count)
static java.lang.String
extractSimpleName(java.lang.String className)
static java.lang.String
fromFieldSignature(java.lang.String signature)
Converts from signature to slashed class name (e.g., from Ljava/lang/String; to java/lang/String).static java.lang.String
getPrimitiveType(java.lang.String cls)
static boolean
isAnonymous(java.lang.String className)
Does a class name appear to designate an anonymous class? Only the name is analyzed.static boolean
isLocalOrAnonymous(java.lang.String className)
Does a class name appear to designate an anonymous or local (defined inside method) class? Only the name is analyzed.static boolean
isMathClass(java.lang.String className)
static boolean
isValidClassName(java.lang.String className)
Return whether or not the given class name is valid.static boolean
matchedPrefixes(java.lang.String[] classSearchStrings, java.lang.String className)
static java.lang.String
toDottedClassName(java.lang.String className)
Convert class name to dotted format.static java.lang.String
toSignature(java.lang.String className)
static java.lang.String
toSlashedClassName(java.lang.Class<?> class1)
static java.lang.String
toSlashedClassName(java.lang.String className)
Convert class name to slashed format.
-
-
-
Method Detail
-
isMathClass
public static boolean isMathClass(@SlashedClassName java.lang.String className)
-
assertIsDotted
public static void assertIsDotted(@DottedClassName java.lang.String className)
-
assertIsSlashed
public static void assertIsSlashed(@SlashedClassName java.lang.String className)
-
toSignature
public static java.lang.String toSignature(@SlashedClassName java.lang.String className)
-
getPrimitiveType
@CheckForNull public static java.lang.String getPrimitiveType(@SlashedClassName java.lang.String cls)
-
fromFieldSignature
@CheckForNull @SlashedClassName public static java.lang.String fromFieldSignature(java.lang.String signature)
Converts from signature to slashed class name (e.g., from Ljava/lang/String; to java/lang/String). Returns null if it is the signature for an array or primitive type.
-
toSlashedClassName
@SlashedClassName public static java.lang.String toSlashedClassName(@SlashedClassName(when=UNKNOWN) java.lang.String className)
Convert class name to slashed format. If the class name is already in slashed format, it is returned unmodified.- Parameters:
className
- a class name- Returns:
- the same class name in slashed format
-
toDottedClassName
@DottedClassName public static java.lang.String toDottedClassName(@SlashedClassName(when=UNKNOWN) java.lang.String className)
Convert class name to dotted format. If the class name is already in dotted format, it is returned unmodified.- Parameters:
className
- a class name- Returns:
- the same class name in dotted format
-
extractPackageName
@DottedClassName public static java.lang.String extractPackageName(@DottedClassName java.lang.String className)
extract the package name from a dotted class name. Package names are always in dotted format.- Parameters:
className
- a dotted class name- Returns:
- the name of the package containing the class
-
extractSimpleName
public static java.lang.String extractSimpleName(@DottedClassName java.lang.String className)
-
isValidClassName
public static boolean isValidClassName(java.lang.String className)
Return whether or not the given class name is valid.- Parameters:
className
- a possible class name- Returns:
- true if it's a valid class name, false otherwise
-
isLocalOrAnonymous
public static boolean isLocalOrAnonymous(java.lang.String className)
Does a class name appear to designate an anonymous or local (defined inside method) class? Only the name is analyzed. No classes are loaded or looked up.- Parameters:
className
- class name, slashed or dotted, fully qualified or unqualified- Returns:
- true if className is the name of an anonymous or local class
-
isAnonymous
public static boolean isAnonymous(java.lang.String className)
Does a class name appear to designate an anonymous class? Only the name is analyzed. No classes are loaded or looked up.- Parameters:
className
- class name, slashed or dotted, fully qualified or unqualified- Returns:
- true if className is the name of an anonymous class
-
extractClassName
@SlashedClassName public static java.lang.String extractClassName(java.lang.String originalName)
Extract a slashed classname from a JVM classname or signature.- Parameters:
originalName
- JVM classname or signature- Returns:
- a slashed classname
-
extractPackagePrefix
public static java.lang.String extractPackagePrefix(java.lang.String packageName, int count)
-
matchedPrefixes
public static boolean matchedPrefixes(java.lang.String[] classSearchStrings, @DottedClassName java.lang.String className)
-
toSlashedClassName
@SlashedClassName public static java.lang.String toSlashedClassName(java.lang.Class<?> class1)
-
-