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 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)
static java.lang.String
fromSignature(java.lang.String signature)
static boolean
isAnonymous(java.lang.String className)
Does a class name appear to designate an anonymous class? Only the name is analyzed.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.String className)
Convert class name to slashed format.
-
-
-
Method Detail
-
toSignature
public static java.lang.String toSignature(@SlashedClassName java.lang.String className)
-
fromFieldSignature
@CheckForNull @SlashedClassName public static java.lang.String fromFieldSignature(java.lang.String signature)
-
fromSignature
public static java.lang.String fromSignature(java.lang.String signature)
- Parameters:
signature
- bytecode notated type name- Returns:
- for reference types: class name without bytecode characters, otherwise unchanged signature
-
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
@DottedClassName 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
-
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)
-
-