]> source.dussan.org Git - poi.git/commitdiff
Helper class for implementing extra write methods (#57919) for Scratchpad classes...
authorNick Burch <nick@apache.org>
Wed, 20 Jul 2016 22:13:03 +0000 (22:13 +0000)
committerNick Burch <nick@apache.org>
Wed, 20 Jul 2016 22:13:03 +0000 (22:13 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1753617 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/src/org/apache/poi/POIReadOnlyDocument.java [new file with mode: 0644]
src/scratchpad/src/org/apache/poi/hpbf/HPBFDocument.java

diff --git a/src/scratchpad/src/org/apache/poi/POIReadOnlyDocument.java b/src/scratchpad/src/org/apache/poi/POIReadOnlyDocument.java
new file mode 100644 (file)
index 0000000..27ba446
--- /dev/null
@@ -0,0 +1,59 @@
+/* ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+package org.apache.poi;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import org.apache.poi.poifs.filesystem.DirectoryNode;
+import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
+import org.apache.poi.poifs.filesystem.OPOIFSFileSystem;
+import org.apache.poi.poifs.filesystem.POIFSFileSystem;
+
+
+/**
+ * This holds the common functionality for all read-only
+ *  POI Document classes, i.e. ones which don't support writing.
+ */
+public abstract class POIReadOnlyDocument extends POIDocument {
+    public POIReadOnlyDocument(DirectoryNode dir) {
+        super(dir);
+    }
+    public POIReadOnlyDocument(NPOIFSFileSystem fs) {
+        super(fs);
+    }
+    public POIReadOnlyDocument(OPOIFSFileSystem fs) {
+        super(fs);
+    }
+    public POIReadOnlyDocument(POIFSFileSystem fs) {
+        super(fs);
+    }
+
+//    @Override
+//    public void write() throws IOException {
+//        throw new IllegalStateException("Writing is not yet implemented for this Document Format");
+//    }
+//    @Override
+//    public void write(File file) throws IOException {
+//        throw new IllegalStateException("Writing is not yet implemented for this Document Format");
+//    }
+    @Override
+    public void write(OutputStream out) throws IOException {
+        throw new IllegalStateException("Writing is not yet implemented for this Document Format");
+    }
+}
index fb046c80342d987d932b6f4eca6a5b61834cd01d..764fa215094bc2a8ed0f7f11807c6be57e45aac6 100644 (file)
@@ -19,9 +19,8 @@ package org.apache.poi.hpbf;
 
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
 
-import org.apache.poi.POIDocument;
+import org.apache.poi.POIReadOnlyDocument;
 import org.apache.poi.hpbf.model.EscherDelayStm;
 import org.apache.poi.hpbf.model.EscherStm;
 import org.apache.poi.hpbf.model.MainContents;
@@ -35,7 +34,7 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
  *  for HPBF, our implementation of the publisher
  *  file format.
  */
-public final class HPBFDocument extends POIDocument {
+public final class HPBFDocument extends POIReadOnlyDocument {
        private MainContents mainContents;
        private QuillContents quillContents;
        private EscherStm escherStm;
@@ -83,8 +82,4 @@ public final class HPBFDocument extends POIDocument {
        public EscherDelayStm getEscherDelayStm() {
                return escherDelayStm;
        }
-
-       public void write(OutputStream out) throws IOException {
-               throw new IllegalStateException("Writing is not yet implemented, see http://poi.apache.org/hpbf/");
-       }
 }