edu.umd.cs.findbugs.classfile

Interface ICodeBaseEntry

public interface ICodeBaseEntry

Object representing a resource in a code base.

Author: David Hovemeyer

Method Summary
ClassDescriptorgetClassDescriptor()
Return the ClassDescriptor of the class resource accessed by this codebase entry.
ICodeBasegetCodeBase()
Get the codebase this codebase entry belongs to.
intgetNumBytes()
Get the number of bytes in the resource.
StringgetResourceName()
Get the name of the resource.
InputStreamopenResource()
Open an input stream reading from the resource.
voidoverrideResourceName(String resourceName)
Override the resource name of this codebase entry.

Method Detail

getClassDescriptor

public ClassDescriptor getClassDescriptor()
Return the ClassDescriptor of the class resource accessed by this codebase entry. Do not call this method unless ClassDescriptor.isClassResource() returns true. This method may require the class data to be loaded in order to determine the class.

Returns: ClassDescriptor of this entry

Throws: CheckedAnalysisException if the codebase entry does not reference a valid classfile IllegalArgumentException if the codebase entry's filename is definitely not a classfile

getCodeBase

public ICodeBase getCodeBase()
Get the codebase this codebase entry belongs to.

Returns: the codebase this codebase entry belongs to

getNumBytes

public int getNumBytes()
Get the number of bytes in the resource. Returns <0 if the number of bytes is not known.

Returns: number of bytes in the resource, or <0 if not known.

getResourceName

public String getResourceName()
Get the name of the resource.

Returns: the name of the resource

openResource

public InputStream openResource()
Open an input stream reading from the resource.

Returns: InputStream reading from the resource.

Throws: IOException if an error occurs reading from the resource

overrideResourceName

public void overrideResourceName(String resourceName)
Override the resource name of this codebase entry.

Parameters: resourceName the new resource name

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