edu.umd.cs.findbugs.ba

Class SourceFile

public class SourceFile extends Object

Cached data for a source file. Contains a map of line numbers to byte offsets, for quick searching of source lines.

Author: David Hovemeyer

See Also: SourceFinder

Constructor Summary
SourceFile(SourceFileDataSource dataSource)
Constructor.
Method Summary
voidaddLineOffset(int offset)
Add a source line byte offset.
StringgetFullFileName()
Get the full path name of the source file (with directory).
InputStreamgetInputStream()
Get an InputStream on data.
InputStreamgetInputStreamFromOffset(int offset)
Get an InputStream on data starting at given offset.
intgetLineOffset(int line)
Get the byte offset in the data for a source line.

Constructor Detail

SourceFile

public SourceFile(SourceFileDataSource dataSource)
Constructor.

Parameters: dataSource the SourceFileDataSource object which will provide the data of the source file

Method Detail

addLineOffset

public void addLineOffset(int offset)
Add a source line byte offset. This method should be called for each line in the source file, in order.

Parameters: offset the byte offset of the next source line

getFullFileName

public String getFullFileName()
Get the full path name of the source file (with directory).

getInputStream

public InputStream getInputStream()
Get an InputStream on data.

Returns: an InputStream on the data in the source file, starting from given offset

getInputStreamFromOffset

public InputStream getInputStreamFromOffset(int offset)
Get an InputStream on data starting at given offset.

Parameters: offset the start offset

Returns: an InputStream on the data in the source file, starting at the given offset

getLineOffset

public int getLineOffset(int line)
Get the byte offset in the data for a source line. Note that lines are considered to be zero-index, so the first line in the file is numbered zero.

Parameters: line the line number

Returns: the byte offset in the file's data for the line, or -1 if the line is not valid

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