Class ClassName

java.lang.Object
edu.umd.cs.findbugs.util.ClassName

public abstract class ClassName extends Object
Utility methods for working with class names.
Author:
David Hovemeyer
  • Constructor Details

    • ClassName

      public ClassName()
  • Method Details

    • isMathClass

      public static boolean isMathClass(@SlashedClassName String className)
    • assertIsDotted

      public static void assertIsDotted(@DottedClassName String className)
    • assertIsSlashed

      public static void assertIsSlashed(@SlashedClassName String className)
    • toSignature

      public static String toSignature(@SlashedClassName String className)
    • getPrimitiveType

      @CheckForNull public static String getPrimitiveType(@SlashedClassName String cls)
    • fromFieldSignature

      @CheckForNull @SlashedClassName public static String fromFieldSignature(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 String toSlashedClassName(@SlashedClassName(when=UNKNOWN) 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 String toDottedClassName(@SlashedClassName(when=UNKNOWN) 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 String extractPackageName(@DottedClassName 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 String extractSimpleName(@DottedClassName String className)
    • isValidClassName

      public static boolean isValidClassName(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(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(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 String extractClassName(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 String extractPackagePrefix(String packageName, int count)
    • matchedPrefixes

      public static boolean matchedPrefixes(String[] classSearchStrings, @DottedClassName String className)
    • toSlashedClassName

      @SlashedClassName public static String toSlashedClassName(Class<?> class1)