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

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

public class FileBasedTextDataSourceImpl
extends Object
implements TextDataSource, FileBased

Author:
wprinz

Field Summary
protected  String characterEncoding
           
protected  File file
           
 
Constructor Summary
FileBasedTextDataSourceImpl(File file, String characterEncoding)
           
 
Method Summary
 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.
 String getCharacterEncoding()
          Returns the character encoding.
 File getFile()
          Returns the underlying data file.
 int getLength()
          Returns the length (number of bytes) of the stream.
 String getText()
          Returns the text to be processed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

file

protected File file

characterEncoding

protected String characterEncoding
Constructor Detail

FileBasedTextDataSourceImpl

public FileBasedTextDataSourceImpl(File file,
                                   String characterEncoding)
                            throws IOException
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()

getCharacterEncoding

public String getCharacterEncoding()
Returns the character encoding.

Returns:
Returns the character encoding.

getText

public String getText()
Description copied from interface: TextDataSource
Returns the text to be processed.

Specified by:
getText in interface TextDataSource
Returns:
Returns the text to be processed.
See Also:
TextDataSource.getText()

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()

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.