poi-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From n...@apache.org
Subject svn commit: r1753617 - in /poi/trunk/src/scratchpad/src/org/apache/poi: POIReadOnlyDocument.java hpbf/HPBFDocument.java
Date Wed, 20 Jul 2016 22:13:03 GMT
Author: nick
Date: Wed Jul 20 22:13:03 2016
New Revision: 1753617

URL: http://svn.apache.org/viewvc?rev=1753617&view=rev
Log:
Helper class for implementing extra write methods (#57919) for Scratchpad classes which are
read-only

Added:
    poi/trunk/src/scratchpad/src/org/apache/poi/POIReadOnlyDocument.java   (with props)
Modified:
    poi/trunk/src/scratchpad/src/org/apache/poi/hpbf/HPBFDocument.java

Added: poi/trunk/src/scratchpad/src/org/apache/poi/POIReadOnlyDocument.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/POIReadOnlyDocument.java?rev=1753617&view=auto
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/POIReadOnlyDocument.java (added)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/POIReadOnlyDocument.java Wed Jul 20 22:13:03
2016
@@ -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");
+    }
+}

Propchange: poi/trunk/src/scratchpad/src/org/apache/poi/POIReadOnlyDocument.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hpbf/HPBFDocument.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hpbf/HPBFDocument.java?rev=1753617&r1=1753616&r2=1753617&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hpbf/HPBFDocument.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hpbf/HPBFDocument.java Wed Jul 20 22:13:03
2016
@@ -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.P
  *  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
 	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/");
-	}
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org


Mime
View raw message