FindBugs™ 1.3.9

edu.umd.cs.findbugs.classfile
Class DescriptorFactory

java.lang.Object
  extended by edu.umd.cs.findbugs.classfile.DescriptorFactory

public class DescriptorFactory
extends java.lang.Object

Factory for creating ClassDescriptors, MethodDescriptors, and FieldDescriptors.

Author:
David Hovemeyer

Method Summary
 void canonicalize(FieldDescriptor m)
           
 void canonicalize(MethodDescriptor m)
           
static java.lang.String canonicalizeString(java.lang.String s)
           
static void clearInstance()
           
static void clearStringCache()
           
static ClassDescriptor createClassDescriptor(java.lang.Class aClass)
           
static ClassDescriptor createClassDescriptor(org.apache.bcel.classfile.JavaClass c)
           
static ClassDescriptor createClassDescriptor(java.lang.String className)
           
static ClassDescriptor[] createClassDescriptor(java.lang.String[] classNames)
           
static ClassDescriptor createClassDescriptorFromDottedClassName(java.lang.String dottedClassName)
           
static ClassDescriptor createClassDescriptorFromFieldSignature(java.lang.String signature)
          Create a class descriptor from a field signature
static ClassDescriptor createClassDescriptorFromResourceName(java.lang.String resourceName)
          Create a class descriptor from a resource name.
static ClassDescriptor createClassDescriptorFromSignature(java.lang.String signature)
           
static ClassDescriptor createClassOrObjectDescriptorFromSignature(java.lang.String signature)
           
 java.util.Collection<ClassDescriptor> getAllClassDescriptors()
           
 ClassDescriptor getClassDescriptor(java.lang.Class<?> actualClass)
           
static ClassDescriptor getClassDescriptor(org.apache.bcel.generic.ObjectType type)
          Get a ClassDescriptor for the class described by given ObjectType object.
 ClassDescriptor getClassDescriptor(java.lang.String className)
          Get a ClassDescriptor for a class name in VM (slashed) format.
 ClassDescriptor getClassDescriptorForDottedClassName(java.lang.String dottedClassName)
          Get a ClassDescriptor for a class name in dotted format.
 FieldDescriptor getFieldDescriptor(FieldAnnotation ma)
           
 FieldDescriptor getFieldDescriptor(java.lang.String className, org.apache.bcel.classfile.Field ma)
           
 FieldDescriptor getFieldDescriptor(java.lang.String className, java.lang.String name, java.lang.String signature, boolean isStatic)
          Get a FieldDescriptor.
 MethodDescriptor getMethodDescriptor(org.apache.bcel.classfile.JavaClass jClass, org.apache.bcel.classfile.Method method)
           
 MethodDescriptor getMethodDescriptor(MethodAnnotation ma)
           
 MethodDescriptor getMethodDescriptor(java.lang.String className, java.lang.String name, java.lang.String signature, boolean isStatic)
          Get a MethodDescriptor.
static DescriptorFactory instance()
          Get the singleton instance of the DescriptorFactory.
static boolean isClassResource(java.lang.String resourceName)
          Determine whether or not the given resource name refers to a class.
 void profile()
           
 void purge(java.util.Collection<ClassDescriptor> unusable)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

canonicalizeString

public static java.lang.String canonicalizeString(@CheckForNull
                                                  java.lang.String s)

clearStringCache

public static void clearStringCache()

instance

public static DescriptorFactory instance()
Get the singleton instance of the DescriptorFactory.

Returns:
the singleton instance of the DescriptorFactory

clearInstance

public static void clearInstance()

getAllClassDescriptors

public java.util.Collection<ClassDescriptor> getAllClassDescriptors()

purge

public void purge(java.util.Collection<ClassDescriptor> unusable)

getClassDescriptor

@Nonnull
public ClassDescriptor getClassDescriptor(java.lang.Class<?> actualClass)

getClassDescriptor

@Nonnull
public ClassDescriptor getClassDescriptor(@SlashedClassName
                                                  java.lang.String className)
Get a ClassDescriptor for a class name in VM (slashed) format.

Parameters:
className - a class name in VM (slashed) format
Returns:
ClassDescriptor for that class

getClassDescriptorForDottedClassName

public ClassDescriptor getClassDescriptorForDottedClassName(@DottedClassName
                                                            java.lang.String dottedClassName)
Get a ClassDescriptor for a class name in dotted format.

Parameters:
dottedClassName - a class name in dotted format
Returns:
ClassDescriptor for that class

getMethodDescriptor

public MethodDescriptor getMethodDescriptor(org.apache.bcel.classfile.JavaClass jClass,
                                            org.apache.bcel.classfile.Method method)

getMethodDescriptor

public MethodDescriptor getMethodDescriptor(@SlashedClassName
                                            java.lang.String className,
                                            java.lang.String name,
                                            java.lang.String signature,
                                            boolean isStatic)
Get a MethodDescriptor.

Parameters:
className - name of the class containing the method, in VM format (e.g., "java/lang/String")
name - name of the method
signature - signature of the method
isStatic - true if method is static, false otherwise
Returns:
MethodDescriptor

profile

public void profile()

canonicalize

public void canonicalize(MethodDescriptor m)

canonicalize

public void canonicalize(FieldDescriptor m)

getMethodDescriptor

public MethodDescriptor getMethodDescriptor(MethodAnnotation ma)

getFieldDescriptor

public FieldDescriptor getFieldDescriptor(@SlashedClassName
                                          java.lang.String className,
                                          java.lang.String name,
                                          java.lang.String signature,
                                          boolean isStatic)
Get a FieldDescriptor.

Parameters:
className - the name of the class the field belongs to, in VM format (e.g., "java/lang/String")
name - the name of the field
signature - the field signature (type)
isStatic - true if field is static, false if not
Returns:
FieldDescriptor

getFieldDescriptor

public FieldDescriptor getFieldDescriptor(@SlashedClassName
                                          java.lang.String className,
                                          org.apache.bcel.classfile.Field ma)

getFieldDescriptor

public FieldDescriptor getFieldDescriptor(FieldAnnotation ma)

getClassDescriptor

public static ClassDescriptor getClassDescriptor(org.apache.bcel.generic.ObjectType type)
Get a ClassDescriptor for the class described by given ObjectType object.

Parameters:
type - an ObjectType
Returns:
a ClassDescriptor for the class described by the ObjectType

createClassDescriptor

public static ClassDescriptor createClassDescriptor(org.apache.bcel.classfile.JavaClass c)

createClassDescriptorFromResourceName

public static ClassDescriptor createClassDescriptorFromResourceName(java.lang.String resourceName)
Create a class descriptor from a resource name.

Parameters:
resourceName - the resource name
Returns:
the class descriptor

createClassDescriptorFromFieldSignature

@CheckForNull
public static ClassDescriptor createClassDescriptorFromFieldSignature(java.lang.String signature)
Create a class descriptor from a field signature


isClassResource

public static boolean isClassResource(java.lang.String resourceName)
Determine whether or not the given resource name refers to a class.

Parameters:
resourceName - the resource name
Returns:
true if the resource is a class, false otherwise

createClassDescriptorFromSignature

public static ClassDescriptor createClassDescriptorFromSignature(java.lang.String signature)

createClassOrObjectDescriptorFromSignature

public static ClassDescriptor createClassOrObjectDescriptorFromSignature(java.lang.String signature)

createClassDescriptor

public static ClassDescriptor createClassDescriptor(java.lang.Class aClass)

createClassDescriptor

public static ClassDescriptor createClassDescriptor(@SlashedClassName
                                                    java.lang.String className)

createClassDescriptor

public static ClassDescriptor[] createClassDescriptor(java.lang.String[] classNames)

createClassDescriptorFromDottedClassName

public static ClassDescriptor createClassDescriptorFromDottedClassName(java.lang.String dottedClassName)

FindBugs™ 1.3.9

FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.