at.gv.egiz.pdfas.io
Class FileBasedTextBasedDataSource

java.lang.Object
  extended byat.gv.egiz.pdfas.io.FileBasedDataSource
      extended byat.gv.egiz.pdfas.io.FileBasedTextBasedDataSource
All Implemented Interfaces:
DataSource, FileBased, TextBased

public class FileBasedTextBasedDataSource
extends FileBasedDataSource
implements TextBased

FileBased DataSource that is TextBased.

Author:
wprinz

Field Summary
protected  String text
           
 
Fields inherited from class at.gv.egiz.pdfas.io.FileBasedDataSource
cache, characterEncoding, file, mimeType
 
Constructor Summary
FileBasedTextBasedDataSource(File file, String mimeType, 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 for random read only access.
 String getCharacterEncoding()
          Returns the character encoding of the data.
 File getFile()
          Returns the File "behind" this io element.
 int getLength()
          Returns the length (number of bytes) of the stream.
 String getMimeType()
          Returns the mime type of the data.
 String getText()
          Returns the text.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

text

protected String text
Constructor Detail

FileBasedTextBasedDataSource

public FileBasedTextBasedDataSource(File file,
                                    String mimeType,
                                    String characterEncoding)
                             throws IOException
Parameters:
file -
mimeType -
characterEncoding -
Throws:
IOException
Method Detail

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
Overrides:
createInputStream in class FileBasedDataSource
See Also:
DataSource.createInputStream()

getAsByteArray

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

Calling this method indicates that you need a byte array for random read only 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.

Never write to this byte array!

Specified by:
getAsByteArray in interface DataSource
Overrides:
getAsByteArray in class FileBasedDataSource
See Also:
DataSource.getAsByteArray()

getLength

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

Specified by:
getLength in interface DataSource
Overrides:
getLength in class FileBasedDataSource
See Also:
DataSource.getLength()

getMimeType

public String getMimeType()
Description copied from interface: DataSource
Returns the mime type of the data.

Specified by:
getMimeType in interface DataSource
Overrides:
getMimeType in class FileBasedDataSource
See Also:
DataSource.getMimeType()

getCharacterEncoding

public String getCharacterEncoding()
Description copied from interface: DataSource
Returns the character encoding of the data.

This makes only sense for character based mime types.

Specified by:
getCharacterEncoding in interface DataSource
Overrides:
getCharacterEncoding in class FileBasedDataSource
See Also:
DataSource.getCharacterEncoding()

getFile

public File getFile()
Description copied from interface: FileBased
Returns the File "behind" this io element.

This is usually used to determine the file name itself.

Specified by:
getFile in interface FileBased
Overrides:
getFile in class FileBasedDataSource
See Also:
FileBased.getFile()

getText

public String getText()
Description copied from interface: TextBased
Returns the text.

Specified by:
getText in interface TextBased
Returns:
Returns the text.


Copyright © 2006-2010. All Rights Reserved.