Package edu.umd.cs.findbugs.ba
Class SourceFile
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.SourceFile
-
public class SourceFile extends java.lang.ObjectCached 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
Constructors Constructor Description SourceFile(SourceFileDataSource dataSource)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddLineOffset(int offset)Add a source line byte offset.java.lang.StringgetFullFileName()Get the full path name of the source file (with directory).java.io.InputStreamgetInputStream()Get an InputStream on data.java.io.InputStreamgetInputStreamFromOffset(int offset)Get an InputStream on data starting at given offset.longgetLastModified()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
-
getFullFileName
public java.lang.String getFullFileName()
Get the full path name of the source file (with directory).
-
getInputStream
public java.io.InputStream getInputStream() throws java.io.IOExceptionGet an InputStream on data.- Returns:
- an InputStream on the data in the source file, starting from given offset
- Throws:
java.io.IOException
-
getInputStreamFromOffset
public java.io.InputStream getInputStreamFromOffset(int offset) throws java.io.IOExceptionGet 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
- Throws:
java.io.IOException
-
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
-
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
-
getLastModified
public long getLastModified()
-
-