at.gv.egiz.pdfas.impl.input
Class FileBasedPdfDataSourceImpl

java.lang.Object
  extended byat.gv.egiz.pdfas.impl.input.FileBasedPdfDataSourceImpl
All Implemented Interfaces:
DataSource, FileBased, PdfDataSource

public class FileBasedPdfDataSourceImpl
extends Object
implements PdfDataSource, FileBased

Author:
wprinz

Field Summary
protected  File inputFile
          The underlying file.
protected  int length
           
 
Constructor Summary
FileBasedPdfDataSourceImpl(File file, int length)
          Constructor that creates this PdfDataSource backed by a file in the file system.
 
Method Summary
protected  InputStream createFileInputStream()
           
 InputStream createInputStream()
          Creates a new InputStream that allows to read out the document's binary data from the beginning.
 byte[] getAsByteArray()
          Returns the data of this DataSource as a byte array.
 File getFile()
          Returns the underlying data file.
 int getLength()
          Returns the length (number of bytes) of the stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

inputFile

protected File inputFile
The underlying file.


length

protected int length
Constructor Detail

FileBasedPdfDataSourceImpl

public FileBasedPdfDataSourceImpl(File file,
                                  int length)
                           throws IOException
Constructor that creates this PdfDataSource backed by a file in the file system.

Parameters:
file - The input File.
length - The length of the InputStream. The is the maximum number of bytes that can be read from the stream.
Throws:
IOException - Thrown if the file cannot be read properly.
Method Detail

getFile

public File getFile()
Description copied from interface: FileBased
Returns the underlying data file.

Specified by:
getFile in interface FileBased
Returns:
Returns the underlying data file.
See Also:
FileBased.getFile()

createInputStream

public InputStream createInputStream()
Description copied from interface: DataSource
Creates a new InputStream that allows to read out the document's binary data from the beginning.

Specified by:
createInputStream in interface DataSource
Returns:
Returns the InputStream with the binary data.
See Also:
DataSource.createInputStream()

createFileInputStream

protected InputStream createFileInputStream()

getLength

public int getLength()
Description copied from interface: DataSource
Returns the length (number of bytes) of the stream.

Specified by:
getLength in interface DataSource
Returns:
Returns the length (number of bytes) of the stream.
See Also:
DataSource.getLength()

getAsByteArray

public byte[] getAsByteArray()
Description copied from interface: DataSource
Returns the data of this DataSource as a byte array.

Calling this method indicates that you need a byte array for random read access. The DataSource implementation should of course cache this byte array to avoid too much memory usage.

Performance analysis has shown that the libraries internally convert the streams to byte arrays and that file system access is very slow.

Specified by:
getAsByteArray in interface DataSource
Returns:
See Also:
DataSource.getAsByteArray()


Copyright © 2006-2010. All Rights Reserved.