at.gv.egiz.pdfas.api.io
Interface DataSource

All Known Implementing Classes:
ByteArrayDataSource, DataSourceApiAdapter, FileBasedDataSource, StringTextBasedDataSource

public interface DataSource

Input document data source.

This allows the holder of the data to decide how the data is to be stored (e.g. in a File or in a byte array).

Author:
wprinz

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.
 int getLength()
          Returns the length (number of bytes) of the stream.
 String getMimeType()
          Returns the mime type of the data.
 

Method Detail

createInputStream

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

Returns:
Returns the InputStream with the binary data.

getLength

public int getLength()
Returns the length (number of bytes) of the stream.

Returns:
Returns the length (number of bytes) of the stream.

getAsByteArray

public byte[] getAsByteArray()
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!

Returns:
Returns the data of this DataSource as a byte array for random read only access.

getMimeType

public String getMimeType()
Returns the mime type of the data.

Returns:
Returns the mime type of the data.

getCharacterEncoding

public String getCharacterEncoding()
Returns the character encoding of the data.

This makes only sense for character based mime types.

Returns:
Returns the character encoding of the data or null if no encoding is applicable (e.g. if the data is binary).


Copyright © 2006-2010. All Rights Reserved.