aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/pdfas/api/io
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/pdfas/api/io')
-rw-r--r--src/main/java/at/gv/egiz/pdfas/api/io/DataSink.java98
-rw-r--r--src/main/java/at/gv/egiz/pdfas/api/io/DataSource.java94
-rw-r--r--src/main/java/at/gv/egiz/pdfas/api/io/FileBased.java51
-rw-r--r--src/main/java/at/gv/egiz/pdfas/api/io/TextBased.java50
4 files changed, 0 insertions, 293 deletions
diff --git a/src/main/java/at/gv/egiz/pdfas/api/io/DataSink.java b/src/main/java/at/gv/egiz/pdfas/api/io/DataSink.java
deleted file mode 100644
index a539ce0..0000000
--- a/src/main/java/at/gv/egiz/pdfas/api/io/DataSink.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.io;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-/**
- * Output document data sink.
- *
- * <p>
- * Actually, the DataSink can be seen as a factory for creating OutputStreams
- * with mime type and character encoding provided. This allows the API user to
- * decide how data is to be stored (e.g. in a file, in a byte array, etc.).
- * </p>
- *
- * @author wprinz
- */
-public interface DataSink
-{
- /**
- * Creates an OutputStream for binary data.
- *
- * <p>
- * Note that the stream may be written only once. Creating another stream
- * overwrites the existing one.
- * </p>
- *
- * @param mimeType
- * The mime type of the output data.
- * @return Returns the created output stream.
- * @throws IOException
- * Thrown if the stream cannot be created.
- */
- public OutputStream createOutputStream(String mimeType) throws IOException;
-
- /**
- * Creates an OutputStream for character data.
- *
- * <p>
- * This is basically the same as {@link #createOutputStream(String)}, but
- * allows to specify the character encoding.
- * </p>
- *
- * @param mimeType
- * The mime type of the output data.
- * @param characterEncoding
- * The character encoding of the data.
- * @return Returns the created output stream.
- * @throws IOException
- * Thrown if the stream cannot be created.
- */
- public OutputStream createOutputStream(String mimeType, String characterEncoding) throws IOException;
-
- /**
- * Returns the mime type of the data stream.
- *
- * <p>
- * This is only valid after a stream has been created.
- * </p>
- *
- * @return Returns the mime type of the data stream.
- */
- public String getMimeType();
-
- /**
- * Returns the character encoding of the data stream.
- *
- * <p>
- * This is only valid after a stream has been created. Null means that no
- * character encoding was specified for the data (e.g. if the data is binary).
- * </p>
- *
- * @return Returns the character encoding of the data stream.
- */
- public String getCharacterEncoding();
-}
diff --git a/src/main/java/at/gv/egiz/pdfas/api/io/DataSource.java b/src/main/java/at/gv/egiz/pdfas/api/io/DataSource.java
deleted file mode 100644
index 4150255..0000000
--- a/src/main/java/at/gv/egiz/pdfas/api/io/DataSource.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.io;
-
-import java.io.InputStream;
-
-/**
- * Input document data source.
- *
- * <p>
- * 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).
- * </p>
- *
- * @author wprinz
- *
- */
-public interface DataSource
-{
- /**
- * Creates a new InputStream that allows to read out the document's binary
- * data from the beginning.
- *
- * @return Returns the InputStream with the binary data.
- */
- public InputStream createInputStream();
-
- /**
- * Returns the length (number of bytes) of the stream.
- *
- * @return Returns the length (number of bytes) of the stream.
- */
- public int getLength();
-
- /**
- * Returns the data of this DataSource as a byte array for random read only access.
- *
- * <p>
- * Calling this method indicates that you need a byte array for random
- * <strong>read only</strong> access. The DataSource implementation should of
- * course cache this byte array to avoid too much memory usage.
- * </p>
- * <p>
- * Performance analysis has shown that the libraries internally convert the
- * streams to byte arrays and that file system access is very slow.
- * </p>
- * <p>
- * Never write to this byte array!
- * </p>
- *
- * @return Returns the data of this DataSource as a byte array for random read only access.
- */
- public byte[] getAsByteArray();
-
- /**
- * Returns the mime type of the data.
- *
- * @return Returns the mime type of the data.
- */
- public String getMimeType();
-
- /**
- * Returns the character encoding of the data.
- *
- * <p>
- * This makes only sense for character based mime types.
- * </p>
- *
- * @return Returns the character encoding of the data or null if no encoding
- * is applicable (e.g. if the data is binary).
- */
- public String getCharacterEncoding();
-
-}
diff --git a/src/main/java/at/gv/egiz/pdfas/api/io/FileBased.java b/src/main/java/at/gv/egiz/pdfas/api/io/FileBased.java
deleted file mode 100644
index f3d0d0e..0000000
--- a/src/main/java/at/gv/egiz/pdfas/api/io/FileBased.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.io;
-
-import java.io.File;
-
-/**
- * Tells that the IO element (DataSink or DataSource) is backed by a file in the local file system.
- *
- * <p>
- * This is a hint that may be used by PDF-AS to optimize data access.
- * </p>
- *
- * @author wprinz
- */
-public interface FileBased
-{
-
- /**
- * Returns the File "behind" this io element.
- *
- * <p>
- * This is usually used to determine the file name itself.
- * </p>
- *
- * @return Returns the File "behind" this io element.
- */
- public File getFile ();
-
-}
diff --git a/src/main/java/at/gv/egiz/pdfas/api/io/TextBased.java b/src/main/java/at/gv/egiz/pdfas/api/io/TextBased.java
deleted file mode 100644
index 39602ff..0000000
--- a/src/main/java/at/gv/egiz/pdfas/api/io/TextBased.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.api.io;
-
-/**
- * Tells, that the IO Element (DataSink - but mostly DataSource) is based upon
- * character data.
- *
- * <p>
- * This can be used to retrieve the character text directly with the correct
- * encoding etc.
- * </p>
- * <p>
- * This makes most sense for text DataSources.
- * </p>
- *
- * @author wprinz
- */
-public interface TextBased
-{
-
- /**
- * Returns the text.
- *
- * @return Returns the text.
- */
- public String getText();
-
-}