]> source.dussan.org Git - poi.git/commitdiff
converted getRecordSize methods to getDataSize
authorJosh Micich <josh@apache.org>
Fri, 31 Oct 2008 01:02:55 +0000 (01:02 +0000)
committerJosh Micich <josh@apache.org>
Fri, 31 Oct 2008 01:02:55 +0000 (01:02 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@709317 13f79535-47bb-0310-9956-ffa450edef68

152 files changed:
src/java/org/apache/poi/hssf/eventusermodel/dummyrecord/DummyRecordBase.java [new file with mode: 0644]
src/java/org/apache/poi/hssf/eventusermodel/dummyrecord/LastCellOfRowDummyRecord.java
src/java/org/apache/poi/hssf/eventusermodel/dummyrecord/MissingCellDummyRecord.java
src/java/org/apache/poi/hssf/eventusermodel/dummyrecord/MissingRowDummyRecord.java
src/java/org/apache/poi/hssf/record/AbstractEscherHolderRecord.java
src/java/org/apache/poi/hssf/record/AreaFormatRecord.java
src/java/org/apache/poi/hssf/record/AreaRecord.java
src/java/org/apache/poi/hssf/record/AxisLineFormatRecord.java
src/java/org/apache/poi/hssf/record/AxisOptionsRecord.java
src/java/org/apache/poi/hssf/record/AxisParentRecord.java
src/java/org/apache/poi/hssf/record/AxisRecord.java
src/java/org/apache/poi/hssf/record/AxisUsedRecord.java
src/java/org/apache/poi/hssf/record/BOFRecord.java
src/java/org/apache/poi/hssf/record/BackupRecord.java
src/java/org/apache/poi/hssf/record/BarRecord.java
src/java/org/apache/poi/hssf/record/BeginRecord.java
src/java/org/apache/poi/hssf/record/BlankRecord.java
src/java/org/apache/poi/hssf/record/BookBoolRecord.java
src/java/org/apache/poi/hssf/record/BoolErrRecord.java
src/java/org/apache/poi/hssf/record/BottomMarginRecord.java
src/java/org/apache/poi/hssf/record/BoundSheetRecord.java
src/java/org/apache/poi/hssf/record/CFHeaderRecord.java
src/java/org/apache/poi/hssf/record/CFRuleRecord.java
src/java/org/apache/poi/hssf/record/CRNCountRecord.java
src/java/org/apache/poi/hssf/record/CRNRecord.java
src/java/org/apache/poi/hssf/record/CalcCountRecord.java
src/java/org/apache/poi/hssf/record/CalcModeRecord.java
src/java/org/apache/poi/hssf/record/CategorySeriesAxisRecord.java
src/java/org/apache/poi/hssf/record/ChartFormatRecord.java
src/java/org/apache/poi/hssf/record/ChartRecord.java
src/java/org/apache/poi/hssf/record/ChartTitleFormatRecord.java
src/java/org/apache/poi/hssf/record/CodepageRecord.java
src/java/org/apache/poi/hssf/record/ColumnInfoRecord.java
src/java/org/apache/poi/hssf/record/ContinueRecord.java
src/java/org/apache/poi/hssf/record/CountryRecord.java
src/java/org/apache/poi/hssf/record/DBCellRecord.java
src/java/org/apache/poi/hssf/record/DSFRecord.java
src/java/org/apache/poi/hssf/record/DVALRecord.java
src/java/org/apache/poi/hssf/record/DVRecord.java
src/java/org/apache/poi/hssf/record/DatRecord.java
src/java/org/apache/poi/hssf/record/DataFormatRecord.java
src/java/org/apache/poi/hssf/record/DateWindow1904Record.java
src/java/org/apache/poi/hssf/record/DefaultColWidthRecord.java
src/java/org/apache/poi/hssf/record/DefaultDataLabelTextPropertiesRecord.java
src/java/org/apache/poi/hssf/record/DefaultRowHeightRecord.java
src/java/org/apache/poi/hssf/record/DeltaRecord.java
src/java/org/apache/poi/hssf/record/DimensionsRecord.java
src/java/org/apache/poi/hssf/record/DrawingGroupRecord.java
src/java/org/apache/poi/hssf/record/DrawingRecord.java
src/java/org/apache/poi/hssf/record/DrawingRecordForBiffViewer.java
src/java/org/apache/poi/hssf/record/DrawingSelectionRecord.java
src/java/org/apache/poi/hssf/record/EOFRecord.java
src/java/org/apache/poi/hssf/record/EndRecord.java
src/java/org/apache/poi/hssf/record/EscherAggregate.java
src/java/org/apache/poi/hssf/record/ExtSSTInfoSubRecord.java
src/java/org/apache/poi/hssf/record/ExtSSTRecord.java
src/java/org/apache/poi/hssf/record/ExtendedFormatRecord.java
src/java/org/apache/poi/hssf/record/ExternSheetRecord.java
src/java/org/apache/poi/hssf/record/ExternalNameRecord.java
src/java/org/apache/poi/hssf/record/FilePassRecord.java
src/java/org/apache/poi/hssf/record/FileSharingRecord.java
src/java/org/apache/poi/hssf/record/FnGroupCountRecord.java
src/java/org/apache/poi/hssf/record/FontBasisRecord.java
src/java/org/apache/poi/hssf/record/FontIndexRecord.java
src/java/org/apache/poi/hssf/record/FontRecord.java
src/java/org/apache/poi/hssf/record/FooterRecord.java
src/java/org/apache/poi/hssf/record/FormatRecord.java
src/java/org/apache/poi/hssf/record/FormulaRecord.java
src/java/org/apache/poi/hssf/record/FrameRecord.java
src/java/org/apache/poi/hssf/record/GridsetRecord.java
src/java/org/apache/poi/hssf/record/GutsRecord.java
src/java/org/apache/poi/hssf/record/HCenterRecord.java
src/java/org/apache/poi/hssf/record/HeaderRecord.java
src/java/org/apache/poi/hssf/record/HideObjRecord.java
src/java/org/apache/poi/hssf/record/HyperlinkRecord.java
src/java/org/apache/poi/hssf/record/IndexRecord.java
src/java/org/apache/poi/hssf/record/InterfaceEndRecord.java
src/java/org/apache/poi/hssf/record/InterfaceHdrRecord.java
src/java/org/apache/poi/hssf/record/IterationRecord.java
src/java/org/apache/poi/hssf/record/LabelRecord.java
src/java/org/apache/poi/hssf/record/LabelSSTRecord.java
src/java/org/apache/poi/hssf/record/LeftMarginRecord.java
src/java/org/apache/poi/hssf/record/LegendRecord.java
src/java/org/apache/poi/hssf/record/LineFormatRecord.java
src/java/org/apache/poi/hssf/record/LinkedDataRecord.java
src/java/org/apache/poi/hssf/record/MMSRecord.java
src/java/org/apache/poi/hssf/record/MergeCellsRecord.java
src/java/org/apache/poi/hssf/record/MulBlankRecord.java
src/java/org/apache/poi/hssf/record/MulRKRecord.java
src/java/org/apache/poi/hssf/record/NameRecord.java
src/java/org/apache/poi/hssf/record/NoteRecord.java
src/java/org/apache/poi/hssf/record/NumberFormatIndexRecord.java
src/java/org/apache/poi/hssf/record/NumberRecord.java
src/java/org/apache/poi/hssf/record/ObjRecord.java
src/java/org/apache/poi/hssf/record/ObjectLinkRecord.java
src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java
src/java/org/apache/poi/hssf/record/PageBreakRecord.java
src/java/org/apache/poi/hssf/record/PaletteRecord.java
src/java/org/apache/poi/hssf/record/PaneRecord.java
src/java/org/apache/poi/hssf/record/PasswordRecord.java
src/java/org/apache/poi/hssf/record/PasswordRev4Record.java
src/java/org/apache/poi/hssf/record/PlotAreaRecord.java
src/java/org/apache/poi/hssf/record/PlotGrowthRecord.java
src/java/org/apache/poi/hssf/record/PrecisionRecord.java
src/java/org/apache/poi/hssf/record/PrintGridlinesRecord.java
src/java/org/apache/poi/hssf/record/PrintHeadersRecord.java
src/java/org/apache/poi/hssf/record/PrintSetupRecord.java
src/java/org/apache/poi/hssf/record/ProtectRecord.java
src/java/org/apache/poi/hssf/record/ProtectionRev4Record.java
src/java/org/apache/poi/hssf/record/RKRecord.java
src/java/org/apache/poi/hssf/record/RecalcIdRecord.java
src/java/org/apache/poi/hssf/record/Record.java
src/java/org/apache/poi/hssf/record/RefModeRecord.java
src/java/org/apache/poi/hssf/record/RefreshAllRecord.java
src/java/org/apache/poi/hssf/record/RightMarginRecord.java
src/java/org/apache/poi/hssf/record/RowRecord.java
src/java/org/apache/poi/hssf/record/SCLRecord.java
src/java/org/apache/poi/hssf/record/SSTRecord.java
src/java/org/apache/poi/hssf/record/SaveRecalcRecord.java
src/java/org/apache/poi/hssf/record/ScenarioProtectRecord.java
src/java/org/apache/poi/hssf/record/SelectionRecord.java
src/java/org/apache/poi/hssf/record/SeriesChartGroupIndexRecord.java
src/java/org/apache/poi/hssf/record/SeriesIndexRecord.java
src/java/org/apache/poi/hssf/record/SeriesLabelsRecord.java
src/java/org/apache/poi/hssf/record/SeriesListRecord.java
src/java/org/apache/poi/hssf/record/SeriesRecord.java
src/java/org/apache/poi/hssf/record/SeriesTextRecord.java
src/java/org/apache/poi/hssf/record/SeriesToChartGroupRecord.java
src/java/org/apache/poi/hssf/record/SharedValueRecordBase.java
src/java/org/apache/poi/hssf/record/SheetPropertiesRecord.java
src/java/org/apache/poi/hssf/record/StringRecord.java
src/java/org/apache/poi/hssf/record/StyleRecord.java
src/java/org/apache/poi/hssf/record/SupBookRecord.java
src/java/org/apache/poi/hssf/record/TabIdRecord.java
src/java/org/apache/poi/hssf/record/TextObjectRecord.java
src/java/org/apache/poi/hssf/record/TextRecord.java
src/java/org/apache/poi/hssf/record/TickRecord.java
src/java/org/apache/poi/hssf/record/TopMarginRecord.java
src/java/org/apache/poi/hssf/record/UncalcedRecord.java
src/java/org/apache/poi/hssf/record/UnitsRecord.java
src/java/org/apache/poi/hssf/record/UnknownRecord.java
src/java/org/apache/poi/hssf/record/UseSelFSRecord.java
src/java/org/apache/poi/hssf/record/VCenterRecord.java
src/java/org/apache/poi/hssf/record/ValueRangeRecord.java
src/java/org/apache/poi/hssf/record/WSBoolRecord.java
src/java/org/apache/poi/hssf/record/WindowOneRecord.java
src/java/org/apache/poi/hssf/record/WindowProtectRecord.java
src/java/org/apache/poi/hssf/record/WindowTwoRecord.java
src/java/org/apache/poi/hssf/record/WriteAccessRecord.java
src/java/org/apache/poi/hssf/record/WriteProtectRecord.java
src/java/org/apache/poi/hssf/record/aggregates/PageSettingsBlock.java
src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java

diff --git a/src/java/org/apache/poi/hssf/eventusermodel/dummyrecord/DummyRecordBase.java b/src/java/org/apache/poi/hssf/eventusermodel/dummyrecord/DummyRecordBase.java
new file mode 100644 (file)
index 0000000..3331134
--- /dev/null
@@ -0,0 +1,40 @@
+/* ====================================================================
+   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.hssf.eventusermodel.dummyrecord;
+
+import org.apache.poi.hssf.record.Record;
+import org.apache.poi.hssf.record.RecordFormatException;
+
+/**
+ */
+abstract class DummyRecordBase extends Record {
+       
+       protected DummyRecordBase() {
+               //
+       }
+       
+       public final short getSid() {
+               return -1;
+       }
+       public int serialize(int offset, byte[] data) {
+               throw new RecordFormatException("Cannot serialize a dummy record");
+       }
+       protected final int getDataSize() {
+               throw new RecordFormatException("Cannot serialize a dummy record");
+       }
+}
index 49e77ebf942dfc52be367f88aa6b873338ebe41d..e0635930160f5ae9859ee8d548b87f9652ea5f6c 100644 (file)
 
 package org.apache.poi.hssf.eventusermodel.dummyrecord;
 
-import org.apache.poi.hssf.record.Record;
-import org.apache.poi.hssf.record.RecordFormatException;
 
 /**
  * A dummy record to indicate that we've now had the last
  *  cell record for this row.
  */
-public final class LastCellOfRowDummyRecord extends Record {
+public final class LastCellOfRowDummyRecord extends DummyRecordBase {
        private int row;
        private int lastColumnNumber;
        
@@ -46,14 +44,4 @@ public final class LastCellOfRowDummyRecord extends Record {
         *  for the row.
         */
        public int getLastColumnNumber() { return lastColumnNumber; }
-       
-       public short getSid() {
-               return -1;
-       }
-       public int serialize(int offset, byte[] data) {
-               throw new RecordFormatException("Cannot serialize a dummy record");
-       }
-       public int getRecordSize() {
-               throw new RecordFormatException("Cannot serialize a dummy record");
-       }
 }
index c8adb4ae880478a1bc2fdd0a4b6eef1a2912a5b0..393e21f387a06ad57be9c5e6b0e56a8a257ade28 100644 (file)
 
 package org.apache.poi.hssf.eventusermodel.dummyrecord;
 
-import org.apache.poi.hssf.record.Record;
-import org.apache.poi.hssf.record.RecordFormatException;
 
 /**
  * A dummy record for when we're missing a cell in a row,
  *  but still want to trigger something
  */
-public final class MissingCellDummyRecord extends Record {
+public final class MissingCellDummyRecord extends DummyRecordBase {
        private int row;
        private int column;
        
@@ -32,17 +30,6 @@ public final class MissingCellDummyRecord extends Record {
                this.row = row;
                this.column = column;
        }
-       
-       public short getSid() {
-               return -1;
-       }
-       public int serialize(int offset, byte[] data) {
-               throw new RecordFormatException("Cannot serialize a dummy record");
-       }
-       public int getRecordSize() {
-               throw new RecordFormatException("Cannot serialize a dummy record");
-       }
-       
        public int getRow() { return row; }
        public int getColumn() { return column; }
 }
index c268bccfc22a7a818d15ed6ccbd2f1f893fb2c0b..4c128bd004e36c0760d03cc376c18ff1f0959a91 100644 (file)
 
 package org.apache.poi.hssf.eventusermodel.dummyrecord;
 
-import org.apache.poi.hssf.record.Record;
-import org.apache.poi.hssf.record.RecordFormatException;
 
 /**
  * A dummy record for when we're missing a row, but still
  *  want to trigger something
  */
-public final class MissingRowDummyRecord extends Record {
+public final class MissingRowDummyRecord extends DummyRecordBase {
        private int rowNumber;
        
        public MissingRowDummyRecord(int rowNumber) {
                this.rowNumber = rowNumber;
        }
-       
-       public short getSid() {
-               return -1;
-       }
-       public int serialize(int offset, byte[] data) {
-               throw new RecordFormatException("Cannot serialize a dummy record");
-       }
-       public int getRecordSize() {
-               throw new RecordFormatException("Cannot serialize a dummy record");
-       }
-       
        public int getRowNumber() {
                return rowNumber;
        }
index bd820741811c0649efdc4f8a83ac90770df8a823..461817cce132f26c7b81d9268892d7ce5ba3ff47 100644 (file)
@@ -130,48 +130,20 @@ public abstract class AbstractEscherHolderRecord extends Record {
         }
         return getRecordSize();
     }
-
-    public int getRecordSize()
-    {
-        if (escherRecords.size() == 0 && rawData != null)
-        {
-            return rawData.length + 4;
+    protected int getDataSize() {
+        if (escherRecords.size() == 0 && rawData != null) {
+            return rawData.length;
         }
-        else
+        int size = 0;
+        for ( Iterator iterator = escherRecords.iterator(); iterator.hasNext(); )
         {
-            int size = 4;
-            for ( Iterator iterator = escherRecords.iterator(); iterator.hasNext(); )
-            {
-                EscherRecord r = (EscherRecord) iterator.next();
-                size += r.getRecordSize();
-            }
-            return size;
+            EscherRecord r = (EscherRecord) iterator.next();
+            size += r.getRecordSize();
         }
+        return size;
     }
 
-//
-//    /**
-//     * Size of record (including 4 byte header)
-//     */
-//    public int getRecordSize()
-//    {
-//        if (escherRecords.size() == 0 && rawData != null)
-//        {
-//            return rawData.length;
-//        }
-//        else
-//        {
-//            collapseShapeInformation();
-//
-//            int size = 4;
-//            for ( Iterator iterator = escherRecords.iterator(); iterator.hasNext(); )
-//            {
-//                EscherRecord r = (EscherRecord) iterator.next();
-//                size += r.getRecordSize();
-//            }
-//            return size;
-//        }
-//    }
+
 
     public abstract short getSid();
 
index f6abd9c170d94d552c907ee470291492689da770..9e3d2ea1101938eb9e3221d929434b6588d51cdc 100644 (file)
@@ -110,9 +110,8 @@ public final class AreaFormatRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 4 + 4 + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 4 + 4 + 2 + 2 + 2 + 2;
     }
 
     public short getSid()
index 14a5737f569d7f148ea5b959c1eacddd467d3afc..85f2ea172b78a84d0a19a633a41828e3c75e94c4 100644 (file)
@@ -75,9 +75,8 @@ public final class AreaRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 1f6e03dbc19867afd196553a0f1ec3d1fa5c9086..dbcd14e497c333a8a9e96a8ec26f865af1f8c514 100644 (file)
@@ -70,9 +70,8 @@ public final class AxisLineFormatRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 32656d4709bff03fff5ecd4ccf96f4beca2153e3..c630cfe8235b56352c887a4666313738cea14f92 100644 (file)
@@ -142,9 +142,8 @@ public final class AxisOptionsRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2;
     }
 
     public short getSid()
index 9a92c2e4ac55ceb480fb4005afb6db3b98599b92..0f7b8dba310e65b808f7d07ec245776b5b4cbaae 100644 (file)
@@ -96,9 +96,8 @@ public final class AxisParentRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 4 + 4 + 4 + 4;
+    protected int getDataSize() {
+        return 2 + 4 + 4 + 4 + 4;
     }
 
     public short getSid()
index 0619027c9bd616d9b465d957b45f9cd0bdf7cb7c..2c989ce4269315e4a04e908cf42274699d866029 100644 (file)
@@ -97,9 +97,8 @@ public final class AxisRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 4 + 4 + 4 + 4;
+    protected int getDataSize() {
+        return 2 + 4 + 4 + 4 + 4;
     }
 
     public short getSid()
index c70129d7fbd8a273d57e01fe655784857a610bbf..76e6e655144dc73cc1e52065016209be4b11d56a 100644 (file)
@@ -66,9 +66,8 @@ public final class AxisUsedRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 672505f5b0f9f1e0f616c7ff8d20d1ee2115b58a..bd71f532861667b1e1c5065a6e4420c8e6cf4d8c 100644 (file)
@@ -286,9 +286,8 @@ public class BOFRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 20;
+    protected int getDataSize() {
+        return 16;
     }
 
     public short getSid()
index 2ffbb5ba796e5700b3f61056ee6462fa131338bb..f2ee6ccf1458a6a056a55ada70a056a38919bbd6 100644 (file)
@@ -87,9 +87,8 @@ public class BackupRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index a9733c52199c9c4e4250e99176c336a4333518f7..7b62e649eeb15b2b10c3d58bdaa8789cf0168058 100644 (file)
@@ -92,9 +92,8 @@ public final class BarRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2 + 2;
     }
 
     public short getSid()
index c983590bd64228fb275b5dd2b2c1da655fb97fbd..94f78f7f8291a7bb71dccdf5f20e9f9065f65796 100644 (file)
@@ -57,9 +57,8 @@ public class BeginRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4;
+    protected int getDataSize() {
+        return 0;
     }
 
     public short getSid()
index 864cc53c3c9e666dbee76a5fe77a66a09a28d923..424f66c4c29ebec50d48b4142c7f5f89c5d8a8df 100644 (file)
@@ -144,9 +144,8 @@ public final class BlankRecord extends Record implements CellValueRecordInterfac
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 10;
+    protected int getDataSize() {
+        return 6;
     }
 
     public Object clone() {
index 0ad7a5ac6096e72a2cae766a9358b9f95c86b7d9..072f58bec88c3e9535b9ce3186100f736ecbbbe3 100644 (file)
@@ -87,9 +87,8 @@ public class BookBoolRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index bed162f94cc528974e0eced9a1d712315c91081a..e0eb26d5232a922d76f7592076561f0daf788fe0 100644 (file)
@@ -206,9 +206,8 @@ public final class BoolErrRecord extends Record implements CellValueRecordInterf
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 12;
+    protected int getDataSize() {
+        return 8;
     }
 
     public short getSid()
index 15d3174c2cfa89e0da9334ed302aba9120f9e59d..f0b7f7d2d15c825ba4ec220b9154355dd6a65755 100644 (file)
@@ -59,9 +59,8 @@ public final class BottomMarginRecord extends Record implements Margin {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4 + 8;
+    protected int getDataSize() {
+        return 8;
     }
 
     public short getSid()
@@ -92,4 +91,4 @@ public final class BottomMarginRecord extends Record implements Margin {
         return rec;
     }
 
-}  // END OF CLA
\ No newline at end of file
+}  // END OF C
\ No newline at end of file
index ca369bd8b957a3c0d9d631d241c331c0ee52c719..17d337f82322ff9ec79dbd5c8ae178e3fb67990b 100644 (file)
@@ -179,10 +179,6 @@ public final class BoundSheetRecord extends Record {
                return 4 + dataSize;
        }
 
-       public int getRecordSize() {
-               return 4 + getDataSize();
-       }
-
        public short getSid() {
                return sid;
        }
index 8988e0652698152e76dde47f49bf903c3210a43a..f94f78a90d5aafb06a965c95d7e670ce6b3e0d4d 100644 (file)
@@ -151,10 +151,6 @@ public final class CFHeaderRecord extends Record {
                return 4 + dataSize;
        }
 
-       public int getRecordSize() {
-               return 4 + getDataSize();
-       }
-
        public short getSid()
        {
                return sid;
index 214ebaa2991cfcef6e7df18c86802adfbd00170b..f9e11dbaf47790484024076420f683c6da11d5fd 100644 (file)
@@ -482,17 +482,14 @@ public final class CFRuleRecord extends Record {
                return recordsize;
        }
 
-
-       public int getRecordSize()
-       {
-               int retval =16+
+       protected int getDataSize() {
+               return 12 +
                                        (containsFontFormattingBlock()?fontFormatting.getRawRecord().length:0)+
                                        (containsBorderFormattingBlock()?8:0)+
                                        (containsPatternFormattingBlock()?4:0)+
                                        getFormulaSize(field_17_formula1)+
                                        getFormulaSize(field_18_formula2)
                                        ;
-               return retval;
        }
 
 
index 5df98bf34edcc7dcc85ab06d0822c530a834af95..e04deb79de6ce16e4a339c3d6c5e0415adaefea4 100755 (executable)
@@ -28,7 +28,7 @@ import org.apache.poi.util.LittleEndian;
 public final class CRNCountRecord extends Record {
        public final static short sid = 0x59;
 
-       private static final short BASE_RECORD_SIZE = 4;
+       private static final short DATA_SIZE = 4;
 
 
        private int      field_1_number_crn_records;
@@ -65,14 +65,13 @@ public final class CRNCountRecord extends Record {
 
        public int serialize(int offset, byte [] data) {
                LittleEndian.putShort(data, 0 + offset, sid);
-               LittleEndian.putShort(data, 2 + offset, BASE_RECORD_SIZE);
+               LittleEndian.putShort(data, 2 + offset, DATA_SIZE);
                LittleEndian.putShort(data, 4 + offset, (short)field_1_number_crn_records);
                LittleEndian.putShort(data, 6 + offset, (short)field_2_sheet_table_index);
                return getRecordSize();
        }
-
-       public int getRecordSize() {
-               return BASE_RECORD_SIZE + 4;
+       protected int getDataSize() {
+               return DATA_SIZE;
        }
 
        /**
index fffefe2b45e8edffb070b9cd1dbf0f749f4cda9f..58be686ad523b58af0ae1e8fe0c89dc0736a917f 100755 (executable)
@@ -80,10 +80,6 @@ public final class CRNRecord extends Record {
                return recSize;
        }
 
-       public int getRecordSize() {
-               return getDataSize() + 4;
-       }
-
        /**
         * return the non static version of the id for this record.
         */
index eb783f3857bf2313cebf6c5a56eb844b09370032..d2001f68d0896d41ff841f004065783e5d702a52 100644 (file)
@@ -89,9 +89,8 @@ public class CalcCountRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index de8d860fcec1d0700433b7be16d51743c5fc3588..73839d82aae73fc831b0dce864efa6927008bd6b 100644 (file)
@@ -115,9 +115,8 @@ public class CalcModeRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 2842788c796334cef23c6c66896be19223a0dc75..ec6a37e51e27876d6df1a6b017c4359f4ab23af4 100644 (file)
@@ -97,9 +97,8 @@ public final class CategorySeriesAxisRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2 + 2 + 2;
     }
 
     public short getSid()
index 490cdd45551d5a5c140ce3116405c277236800c8..b39759fdc43fe4ebfad51eb352701e0d71846a2d 100644 (file)
@@ -85,9 +85,8 @@ public final class ChartFormatRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 22;
+    protected int getDataSize() {
+        return 18;
     }
 
     public short getSid()
index 62e02d4fafbfa563dbdc6de6e64a490eca532796..e07cda58e8f10a06e0b216af30e008af55bb6b46 100644 (file)
@@ -86,9 +86,8 @@ public final class ChartRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 4 + 4 + 4 + 4;
+    protected int getDataSize() {
+        return 4 + 4 + 4 + 4;
     }
 
     public short getSid()
index fd22d5229b4a4734f6ab51aa43e15364a14790aa..37f539e4a0a7d045c69a4a5c69339b39c5ee2920 100644 (file)
@@ -88,9 +88,8 @@ public class ChartTitleFormatRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4 + 2 + (4 * m_formats.size());
+    protected int getDataSize() {
+        return 2 + (4 * m_formats.size());
     }
     
        public short getSid() {
index 4675fe473041d67bc3f95a510f502976cbe74cec..4e61500dbdd6ecb2ce286c786f3588efc2f98ceb 100644 (file)
@@ -96,9 +96,8 @@ public class CodepageRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 38d05181c9f18ff37878995acad835157a47928d..1fc0907f96e94c0fcf402d66f5652bc1be14d55c 100644 (file)
@@ -280,9 +280,8 @@ public final class ColumnInfoRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 16;
+    protected int getDataSize() {
+        return 12;
     }
 
     public String toString()
index c67012aa7c0b855894a77e95a1f2d6efd7b43270..bed97a4098d0938e1a73e05fd670f068874ed49c 100644 (file)
@@ -35,8 +35,8 @@ public final class ContinueRecord extends Record {
         _data = data;
     }
 
-    public int getRecordSize() {
-        return 4 + _data.length;
+    protected int getDataSize() {
+        return _data.length;
     }
 
     public int serialize(int offset, byte[] data) {
index 7d739a9b652c701d3650308517ba700d34ca8a06..c6b3ac454d5f29fe821f175722f59556d2249b96 100644 (file)
@@ -117,9 +117,8 @@ public class CountryRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 8;
+    protected int getDataSize() {
+        return 4;
     }
 
     public short getSid()
index 4085027dd4b981ca4c6fc46e13e7af5b03647e8d..fef70667db94dcd96e380a4e73b34d5e0124b805 100644 (file)
@@ -143,10 +143,8 @@ public final class DBCellRecord extends Record {
         }
         return getRecordSize();
     }
-
-    public int getRecordSize()
-    {
-        return 8 + (getNumCellOffsets() * 2);
+    protected int getDataSize() {
+       return 4 + (getNumCellOffsets() * 2);
     }
     
     /**
index 9d405b3dda59c9e4ecbc1d53573157627c6cedc3..3d2a753aa0b6d6c61dae34896f440c19059d05fc 100644 (file)
@@ -85,9 +85,8 @@ public class DSFRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 9f051db6eb48aaf7948988d1a9ca93d8548c9ed7..69e94deacb1fb7466b8cf78538e0500bfb02698b 100644 (file)
@@ -164,9 +164,8 @@ public class DVALRecord extends Record
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 22;
+    protected int getDataSize() {
+        return 18;
     }
 
     public short getSid()
index 44235467689b6d87b9c4e12e4a77faffe8034f83..c486b190d78a2684fd9bf4d852bad6f75f805cc4 100644 (file)
@@ -303,8 +303,8 @@ public final class DVRecord extends Record {
                return 3 + str.length() * (StringUtil.hasMultibyte(str) ? 2 : 1);
        }
 
-       public int getRecordSize()  {
-               int size = 4+4+2+2+2+2;//header+options_field+first_formula_size+first_unused+sec_formula_size+sec+unused;
+       protected int getDataSize() {
+               int size = 4+2+2+2+2;//options_field+first_formula_size+first_unused+sec_formula_size+sec+unused;
                size += getUnicodeStringSize(_promptTitle);
                size += getUnicodeStringSize(_errorTitle);
                size += getUnicodeStringSize(_promptText);
index f93efe622696ab5d221df2358294e41f7ec21972..ef8f2a53da562aec3a4cd38744dbf2e6d43d6574 100644 (file)
@@ -78,9 +78,8 @@ public final class DatRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index b0a67aefa6160ca0e192ff9f6dc6531a36da93ae..5719ab6d2666413d2549842ba826a54db6153c69 100644 (file)
@@ -93,9 +93,8 @@ public final class DataFormatRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2 + 2 + 2;
     }
 
     public short getSid()
index dd023fa803d2e95ee4f3919386f424f0520bd3d2..19c4992810f2a43061571dbf53d0c6e9f6419313 100644 (file)
@@ -85,9 +85,8 @@ public class DateWindow1904Record
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 8ceb88edfa558ee586d7b2c94fc0674644732300..a913dc6e76fe2603b3c3734c0fb46e6cca9ae809 100644 (file)
@@ -80,9 +80,8 @@ public final class DefaultColWidthRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index e970265f21839094d97d5c941dbdd6d114610314..905616a5093e7d55938f07f995f332d3094f0eee 100644 (file)
@@ -69,9 +69,8 @@ public final class DefaultDataLabelTextPropertiesRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index ae48ea4b00179bc66e706009d996d86bdca608fd..9f0a51125608b4669a14dd4a697579dc62bd0467 100644 (file)
@@ -110,9 +110,8 @@ public class DefaultRowHeightRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 8;
+    protected int getDataSize() {
+        return 4;
     }
 
     public short getSid()
index d02eb2cef7169f37eb9474c6574f639f6c7fa27d..8cf0df0c4a6f5b9dd2f59355b0c07661f5458af9 100644 (file)
@@ -88,9 +88,8 @@ public class DeltaRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 12;
+    protected int getDataSize() {
+        return 8;
     }
 
     public short getSid()
index fa7477bc79c5dc2b6c6c258093ee298bdf2a6565..34422b8afc86dd5183f96cb03cb4d2743cfb9542 100644 (file)
@@ -165,9 +165,8 @@ public class DimensionsRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 18;
+    protected int getDataSize() {
+        return 14;
     }
 
     public short getSid()
index 1f149efbb01da7fc2406191d0466caa1fb61aa29..fb5b649a10d5546d25ee7c935da26c8b52dfa081 100644 (file)
@@ -26,8 +26,7 @@ import java.util.Iterator;
 import java.util.List;
 
 
-public class DrawingGroupRecord extends AbstractEscherHolderRecord
-{
+public final class DrawingGroupRecord extends AbstractEscherHolderRecord {
     public static final short sid = 0xEB;
 
     static final int MAX_RECORD_SIZE = 8228;
@@ -82,30 +81,25 @@ public class DrawingGroupRecord extends AbstractEscherHolderRecord
     public void processChildRecords() {
        convertRawBytesToEscherRecords();
     }
-
-    public int getRecordSize()
-    {
-        return grossSizeFromDataSize( getRawDataSize() );
+    protected int getDataSize() {
+       // TODO - convert this to a RecordAggregate
+       return grossSizeFromDataSize( getRawDataSize() ) - 4;
     }
 
-    public int getRawDataSize()
-    {
+    private int getRawDataSize() {
         List escherRecords = getEscherRecords();
         byte[] rawData = getRawData();
         if (escherRecords.size() == 0 && rawData != null)
         {
             return rawData.length;
         }
-        else
+        int size = 0;
+        for ( Iterator iterator = escherRecords.iterator(); iterator.hasNext(); )
         {
-            int size = 0;
-            for ( Iterator iterator = escherRecords.iterator(); iterator.hasNext(); )
-            {
-                EscherRecord r = (EscherRecord) iterator.next();
-                size += r.getRecordSize();
-            }
-            return size;
+            EscherRecord r = (EscherRecord) iterator.next();
+            size += r.getRecordSize();
         }
+        return size;
     }
 
     static int grossSizeFromDataSize(int dataSize)
index c8c54123c994f6ec79ef89cb7c61b852abd182af..b0af2c7e6e6cc67172d73308a743c86f4988b65f 100644 (file)
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
+
 package org.apache.poi.hssf.record;
 
 import org.apache.poi.util.LittleEndian;
 
-public class DrawingRecord extends Record
-{
-    public static final short sid = 0xEC;
+public final class DrawingRecord extends Record {
+    public static final short sid = 0x00EC;
+
+       private static final byte[] EMPTY_BYTE_ARRAY = { };
 
     private byte[] recordData;
     private byte[] contd;
 
-    public DrawingRecord()
-    {
+    public DrawingRecord() {
+       recordData = EMPTY_BYTE_ARRAY;
     }
 
     public DrawingRecord( RecordInputStream in )
@@ -54,13 +56,10 @@ public class DrawingRecord extends Record
         }
         return getRecordSize();
     }
+    protected int getDataSize() {
+        int retval = 0;
 
-    public int getRecordSize()
-    {
-        int retval = 4;
-
-        if (recordData != null)
-        {
+        if (recordData != null) {
             retval += recordData.length;
         }
         return retval;
@@ -91,10 +90,8 @@ public class DrawingRecord extends Record
     public Object clone() {
        DrawingRecord rec = new DrawingRecord();
        
-        if (recordData != null) {
-               rec.recordData = new byte[ recordData.length ];
-               System.arraycopy(recordData, 0, rec.recordData, 0, recordData.length);
-        }
+       rec.recordData = new byte[ recordData.length ];
+       System.arraycopy(recordData, 0, rec.recordData, 0, recordData.length);
        if (contd != null) {
                System.arraycopy(contd, 0, rec.contd, 0, contd.length);
                rec.contd = new byte[ contd.length ];
index 4e5536f3096a774757b0bd6b4ad71f4265d941e8..bbbe0b3eef44f9457b56a4fc2a589ff896e11607 100644 (file)
@@ -23,9 +23,7 @@ import java.io.ByteArrayInputStream;
  * This is purely for the biff viewer.  During normal operations we don't want
  * to be seeing this.
  */
-public class DrawingRecordForBiffViewer
-        extends AbstractEscherHolderRecord
-{
+public final class DrawingRecordForBiffViewer extends AbstractEscherHolderRecord {
     public static final short sid = 0xEC;
 
     public DrawingRecordForBiffViewer()
index 8b3af07272b2c0ec1839617e20ce45326b6efaea..687c11314b76bec273c155c052a03697681da3b9 100644 (file)
@@ -17,8 +17,7 @@
 
 package org.apache.poi.hssf.record;
 
-public class DrawingSelectionRecord extends AbstractEscherHolderRecord
-{
+public final class DrawingSelectionRecord extends AbstractEscherHolderRecord {
     public static final short sid = 0xED;
 
     public DrawingSelectionRecord()
index f7495179b44be6a035aab8ee48998f74216a00ec..bf9c39ba93191a80b1ee3a96413ab677adce1d20 100644 (file)
@@ -63,9 +63,8 @@ public final class EOFRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return ENCODED_SIZE;
+    protected int getDataSize() {
+        return ENCODED_SIZE - 4;
     }
 
     public short getSid()
index 6f91dc3a2472b3847419841f3434391e28f92400..86e336e5cfd2623f7f5176ab901cb24b9ef2bae8 100644 (file)
@@ -58,9 +58,8 @@ public final class EndRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4;
+    protected int getDataSize() {
+        return 0;
     }
 
     public short getSid()
index 369cf0b14fe16f282603f2a524c0312cfbb94b18..4cec5cca4bc698a6abd3b2dd14688cd966acde50 100644 (file)
@@ -498,8 +498,8 @@ public class EscherAggregate extends AbstractEscherHolderRecord
         return size;
     }
 
-    public int getRecordSize()
-    {
+    protected int getDataSize() {
+       // TODO - convert this to RecordAggregate
         convertUserModelToRecords();
         List records = getEscherRecords();
         int rawEscherSize = getEscherRecordSize( records );
@@ -516,7 +516,7 @@ public class EscherAggregate extends AbstractEscherHolderRecord
             Record r = (Record) iterator.next();
             tailRecordSize += r.getRecordSize();
         }
-        return drawingRecordSize + objRecordSize + tailRecordSize;
+        return drawingRecordSize + objRecordSize + tailRecordSize - 4;
     }
 
     /**
index 278bfd78166b4d947209ebd6292d0ed616c777a4..845f95a1623fb77b1bb2d3e9f210b1317f295bef 100644 (file)
@@ -100,9 +100,8 @@ public class ExtSSTInfoSubRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 8;
+    protected int getDataSize() {
+        return 4;
     }
 
     public short getSid()
index 14a849de5664022a94328be6d434ef670ff3e4f3..8225f6b76ddd2fa3880183d8a1b4819c0bc99b88 100644 (file)
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
 
 package org.apache.poi.hssf.record;
 
-import org.apache.poi.util.LittleEndian;
-
 import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.poi.util.LittleEndian;
 
 /**
  * Title:        Extended Static String Table<P>
@@ -35,17 +34,14 @@ import java.util.ArrayList;
  * @version 2.0-pre
  * @see org.apache.poi.hssf.record.ExtSSTInfoSubRecord
  */
-
-public class ExtSSTRecord
-    extends Record
-{
+public final class ExtSSTRecord extends Record {
+    public final static short sid = 0x00FF;
     public static final int DEFAULT_BUCKET_SIZE = 8;
-    //Cant seem to find this documented but from the biffviewer it is clear that
+    //Can't seem to find this documented but from the biffviewer it is clear that
     //Excel only records the indexes for the first 128 buckets.
     public static final int MAX_BUCKETS = 128;
-    public final static short sid = 0xff;
     private short             field_1_strings_per_bucket = DEFAULT_BUCKET_SIZE;
-    private ArrayList         field_2_sst_info;
+    private List         field_2_sst_info;
 
 
     public ExtSSTRecord()
@@ -128,10 +124,8 @@ public class ExtSSTRecord
         }
         return pos;
     }
-
-    public int getRecordSize()
-    {
-        return 6 + 8*getNumInfoRecords();
+    protected int getDataSize() {
+       return 2 + 8*getNumInfoRecords();
     }
 
     public static final int getNumberOfInfoRecsForStrings(int numStrings) {
index 0bc50ca89e9a39934283a8d96eb44b097c1b4850..9d3385452018a359379ac98ae21c28da7f1578e5 100644 (file)
@@ -1787,9 +1787,8 @@ public class ExtendedFormatRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 24;
+    protected int getDataSize() {
+        return 20;
     }
 
     public short getSid()
index baa136c2311bd9044ce7cd3b98487cbe2bfdea4d..cbb287ed15618975da29840b9e1c2018da846195 100644 (file)
@@ -188,10 +188,6 @@ public class ExternSheetRecord extends Record {
                return (RefSubRecord) _list.get(i);
        }
        
-       public int getRecordSize() {
-               return 4 + getDataSize();
-       }
-       
        /**
         * return the non static version of the id for this record.
         */
index eb597aeb299560a1dde864825b29054c22261faf..73de9f0bed6798da8cbf757afd1872dbc4608c19 100755 (executable)
@@ -120,10 +120,6 @@ public final class ExternalNameRecord extends Record {
                return recSize;
        }
 
-       public int getRecordSize(){
-               return 4 + getDataSize();
-       }
-
 
        public ExternalNameRecord(RecordInputStream in) {
                field_1_option_flag = in.readShort();
index 3af87278e23abac5ec152304a3f0ce58b6436cb5..7068874ec623d898b90f649ec6e2dd6170eb87e2 100644 (file)
@@ -68,9 +68,8 @@ public class FilePassRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 8;
+    protected int getDataSize() {
+        return 4;
     }
 
     public short getSid()
index 3631251995bf5dad76ec2b0efd3a309cbab45dc8..54d94d9f831e9ef66d8d62f26b5b3d597f71d080 100644 (file)
@@ -153,12 +153,12 @@ public final class FileSharingRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize() {
+    protected int getDataSize() {
         short nameLen = getUsernameLength();
         if (nameLen < 1) {
-            return 10;
+            return 6;
         }
-        return 11+nameLen;
+        return 7+nameLen;
     }
 
     public short getSid() {
index 23de9135af495057f6b7d0f1a99be1d514029833..e92623a3e3e968fbda6e4ca387c9eab4db1c4e07 100644 (file)
@@ -93,9 +93,8 @@ public class FnGroupCountRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 452a8f9ae4a4caecaac00b22432507bc3a425140..cbe2ae4fa746ea9f47e0796db96afafda39cab01 100644 (file)
@@ -94,9 +94,8 @@ public final class FontBasisRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2 + 2 + 2 + 2;
     }
 
     public short getSid()
index 241753bacc9458338e2614c77cdb2bfd26f41572..a1ade938ff561e7ae7d9212fbbe0292815cfcb3b 100644 (file)
@@ -66,9 +66,8 @@ public final class FontIndexRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index e1d421977402492e4e9b8a73baed70b542d0aba6..890460f9e70714aa229cdc65ef31fff0b9ae4b16 100644 (file)
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,6 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
 
 package org.apache.poi.hssf.record;
 
@@ -29,14 +27,9 @@ import org.apache.poi.util.BitFieldFactory;
  * Description:  An element in the Font Table<P>
  * REFERENCE:  PG 315 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P>
  * @author Andrew C. Oliver (acoliver at apache dot org)
- * @version 2.0-pre
  */
-
-public class FontRecord
-    extends Record
-{
-    public final static short     sid                 =
-        0x31;                                                 // docs are wrong (0x231 Microsoft Support site article Q184647)
+public final class FontRecord extends Record {
+    public final static short     sid                 = 0x0031;                                                 // docs are wrong (0x231 Microsoft Support site article Q184647)
     public final static short     SS_NONE             = 0;
     public final static short     SS_SUPER            = 1;
     public final static short     SS_SUB              = 2;
@@ -509,12 +502,10 @@ public class FontRecord
         }
         return getRecordSize();
     }
-
-    public int getRecordSize()
-    {
+    protected int getDataSize() {
        // Note - no matter the original, we always
        //  re-serialise the font name as unicode
-        return (getFontNameLength() * 2) + 20;
+        return 16 + getFontNameLength() * 2;
     }
 
     public short getSid()
index 8434792172d15829448bcb8f2001b69d42cbb771..0350d3a8cdc225f81c9c44715f2273a15646bde5 100644 (file)
@@ -180,16 +180,13 @@ public class FooterRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        int retval = 4;
+    protected int getDataSize() {
+        int retval = 0;
 
-        if (getFooterLength() > 0)
-        {
+        if (getFooterLength() > 0) {
             retval+=3; // [Shawn] Fixed for two null bytes in the length
         }
-        return (isMultibyte() ? 
-            (retval + getFooterLength()*2) : (retval + getFooterLength()));
+        return retval + getFooterLength() * (isMultibyte() ? 2 : 1);
     }
 
     public short getSid()
index b8f4ea22ad44c52c4e6e158c405fbb65ec798d17..6ea2ce96325b77d02b3ab0401db39e891d185dcb 100644 (file)
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,6 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
 
 package org.apache.poi.hssf.record;
 
@@ -29,13 +27,9 @@ import org.apache.poi.util.StringUtil;
  * REFERENCE:  PG 317 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P>
  * @author Andrew C. Oliver (acoliver at apache dot org)
  * @author Shawn M. Laubach (slaubach at apache dot org)  
- * @version 2.0-pre
  */
-
-public class FormatRecord
-    extends Record
-{
-    public final static short sid = 0x41e;
+public final class FormatRecord extends Record {
+    public final static short sid = 0x041E;
     private short             field_1_index_code;
 
     private short             field_3_unicode_len;      // unicode string length
@@ -199,10 +193,8 @@ public class FormatRecord
       
         return getRecordSize();
     }
-
-    public int getRecordSize()
-    {
-        return 9 + ( ( field_3_unicode_flag ) ? 2 * field_3_unicode_len : field_3_unicode_len );
+    protected int getDataSize() {
+        return 5 + field_3_unicode_len * (field_3_unicode_flag ? 2 : 1);
     }
 
     public short getSid()
index 8c4781196673d98d7f26b4862624602fc473ed7c..4e4edcc9a69b209ac1ff45fc633d71144585c08d 100644 (file)
@@ -380,10 +380,6 @@ public final class FormulaRecord extends Record implements CellValueRecordInterf
                return recSize;
        }
 
-       public int getRecordSize() {
-               return 4 + getDataSize();
-       }
-
        public String toString() {
 
                StringBuffer sb = new StringBuffer();
index 357728a0e2f119efafb28863e4db081a4238e40e..65fcc67d1e58b167dfbc2d2f01f7ea3a6df22009 100644 (file)
@@ -83,9 +83,8 @@ public final class FrameRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2;
     }
 
     public short getSid()
index ad652ba8245c066924813418fa6d37a5547f4bbd..8bf52768e0f2d3dd60e9c2720d6a9e2368a869dd 100644 (file)
@@ -97,9 +97,8 @@ public class GridsetRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 0073066ec1e98ea674c9c96170868485c6db642e..2bc576f26c8d5344d16d85c6574f97fc55c2b2b2 100644 (file)
@@ -167,9 +167,8 @@ public class GutsRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 12;
+    protected int getDataSize() {
+        return 8;
     }
 
     public short getSid()
index 261431e7167df837b966089c0982c70853ab8025..41708a3f2b1afa17234e1ad62ef3ade422a9fbf6 100644 (file)
@@ -86,9 +86,8 @@ public final class HCenterRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 61ff851306a14279aca8ffe570c5fcd6b976eae6..aea321eacadbfc8e27b79ca36c8135257adf0547 100644 (file)
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,6 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
 
 package org.apache.poi.hssf.record;
 
@@ -29,13 +27,9 @@ import org.apache.poi.util.StringUtil;
  * @author Andrew C. Oliver (acoliver at apache dot org)
  * @author Shawn Laubach (slaubach at apache dot org) Modified 3/14/02
  * @author Jason Height (jheight at chariot dot net dot au)
- * @version 2.0-pre
  */
-
-public class HeaderRecord
-    extends Record
-{
-    public final static short sid = 0x14;
+public final class HeaderRecord extends Record {
+    public final static short sid = 0x0014;
     private byte              field_1_header_len;
     private byte              field_2_reserved;
     private byte              field_3_unicode_flag;
@@ -180,16 +174,13 @@ public class HeaderRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        int retval = 4;
+    protected int getDataSize() {
+        int retval = 0;
 
-        if (getHeaderLength() != 0)
-        {
+        if (getHeaderLength() != 0) {
             retval+=3; // [Shawn] Fixed for two null bytes in the length
         }
-       return (isMultibyte() ? 
-            (retval + getHeaderLength()*2) : (retval + getHeaderLength()));
+       return retval + getHeaderLength() * (isMultibyte() ? 2 : 1);
     }
 
     public short getSid()
index 496002618ace17a9f2e770a83833375c1013ab6c..c5c587626341578bc2b8a87008fdfd8e75a701e5 100644 (file)
@@ -95,9 +95,8 @@ public class HideObjRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 6fc5b97163d5e69debbb7f0f29d7cb93333e80da..f7904a10025ceced044720ad430a98166dd346ce 100644 (file)
@@ -31,7 +31,7 @@ import org.apache.poi.util.HexDump;
  * @author      Mark Hissink Muller <a href="mailto:mark@hissinkmuller.nl >mark&064;hissinkmuller.nl</a>
  * @author      Yegor Kozlov (yegor at apache dot org)
  */
-public class HyperlinkRecord extends Record {
+public final class HyperlinkRecord extends Record {
     /**
      * Link flags
      */
@@ -405,9 +405,8 @@ public class HyperlinkRecord extends Record {
        return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        int size = 4;
+    protected int getDataSize() {
+        int size = 0;
         size += 2 + 2 + 2 + 2;  //rwFirst, rwLast, colFirst, colLast
         size += guid.length;
         size += 4;  //label_opts
index c7c3cfbb5afea00e19c75a9cc11eefb7164fa747..650d1258c8b526adea6ffc66e6719891c436c64e 100644 (file)
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,6 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
 
 package org.apache.poi.hssf.record;
 
@@ -30,13 +28,9 @@ import org.apache.poi.util.LittleEndian;
  * REFERENCE:  PG 323 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P>
  * @author Andrew C. Oliver (acoliver at apache dot org)
  * @author Jason Height (jheight at chariot dot net dot au)
- * @version 2.0-pre
  */
-
-public class IndexRecord
-    extends Record
-{
-    public final static short sid             = 0x20B;
+public class IndexRecord extends Record {
+    public final static short sid             = 0x020B;
     public final static int   DBCELL_CAPACITY = 30;
     public int                field_1_zero;            // reserved must be 0
     public int                field_2_first_row;       // first row on the sheet
@@ -146,9 +140,8 @@ public class IndexRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 20 + (getNumDbcells() * 4);
+    protected int getDataSize() {
+        return 16 + (getNumDbcells() * 4);
     }
     
     /** Returns the size of an INdexRecord when it needs to index the specified number of blocks
index 2a9de8e5636e3b143c4c3e40ce27b35d8688790a..5f9d8955b2e85d4175c96a91111c14bb27514868 100644 (file)
@@ -58,9 +58,8 @@ public final class InterfaceEndRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4;
+    protected int getDataSize() {
+        return 0;
     }
 
     public short getSid()
index 617e95855fcbee3220c3af50e14cac827c16a6e3..592a87b892b70bf8946729e3048f54ba443d80b7 100644 (file)
@@ -94,9 +94,8 @@ public class InterfaceHdrRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 400ee0a8c5eb40bf623b1f7d3b5097cda6680b7f..f9efca7929533a8648ac7023f69b1b07d1c56d17 100644 (file)
@@ -95,9 +95,8 @@ public class IterationRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 9661f991f46bc67952a42cd28579db614f4fd899..95659e8aff82f22a5c71ebfc6fdbff1bd58de1ab 100644 (file)
@@ -117,7 +117,7 @@ public final class LabelRecord extends Record implements CellValueRecordInterfac
     public int serialize(int offset, byte [] data) {
         throw new RecordFormatException("Label Records are supported READ ONLY...convert to LabelSST");
     }
-    public int getRecordSize() {
+    protected int getDataSize() {
         throw new RecordFormatException("Label Records are supported READ ONLY...convert to LabelSST");
     }
 
index f2eae83debe95bd1032de991a0a549ebc0c4f245..93d849b4ec0b2470bb687805b4a24063bf49de0b 100644 (file)
@@ -140,9 +140,8 @@ public final class LabelSSTRecord extends Record implements CellValueRecordInter
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 14;
+    protected int getDataSize() {
+        return 10;
     }
 
     public short getSid()
index 1a07530866cc47e3624381582ca0ee7b840c687c..7615b0d875dad27bc6e5f81f74358bfde2504a0e 100644 (file)
@@ -53,8 +53,8 @@ public class LeftMarginRecord extends Record implements Margin
         return getRecordSize();
     }
 
-    public int getRecordSize()    {
-        return 4 + 8;
+    protected int getDataSize() {
+        return 8;
     }
 
     public short getSid()    {
@@ -82,4 +82,4 @@ public class LeftMarginRecord extends Record implements Margin
         rec.field_1_margin = this.field_1_margin;
         return rec;
     }
-}  // END OF CLA
\ No newline at end of file
+}  // END OF C
\ No newline at end of file
index d4351b72a0732bc02e18d29d4413a125996ae8d3..cdd0becf989252df27caa2f16ccb08c82ebc59c1 100644 (file)
@@ -133,9 +133,8 @@ public final class LegendRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 4 + 4 + 4 + 4 + 1 + 1 + 2;
+    protected int getDataSize() {
+        return 4 + 4 + 4 + 4 + 1 + 1 + 2;
     }
 
     public short getSid()
index 78142a17cae92097387b3cc645049b6a8023327b..da6264f3614ef67b78959229bcbfc3a3b9872a7a 100644 (file)
@@ -118,9 +118,8 @@ public final class LineFormatRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 4 + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 4 + 2 + 2 + 2 + 2;
     }
 
     public short getSid()
index 543418c35384afe3dd02aae002f1d8d9a38f3723..fe5b9002c726fdac9a35d96d7fe63879a73d12b1 100644 (file)
@@ -108,9 +108,8 @@ public final class LinkedDataRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 1 + 1 + 2 + 2 + field_5_formulaOfLink.getSize();
+    protected int getDataSize() {
+        return 1 + 1 + 2 + 2 + field_5_formulaOfLink.getSize();
     }
 
     public short getSid()
index c11e2d510d16bb4ae2e3be27f995358802e7bacf..0c5564d97b541fbe6f07e51cb07e827e3eac3b8c 100644 (file)
@@ -110,9 +110,8 @@ public class MMSRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 5c7da42aa9f256271ce82a497d13f5a777da93ed..c93fd0a986ac2415d53bb4e0fce4116fb16972f5 100644 (file)
@@ -72,9 +72,9 @@ public final class MergeCellsRecord extends Record {
         return _regions[_startIndex + index];
     }
 
-    public int getRecordSize() {
-       return 4 + CellRangeAddressList.getEncodedSize(_numberOfRegions);
-    }
+    protected int getDataSize() {
+               return CellRangeAddressList.getEncodedSize(_numberOfRegions);
+       }
 
     public short getSid() {
         return sid;
index a57628750d2ff52f958f555b66619d0ddc91b7bd..6ecaa20f9742967f9594ef655c1c927666f5721a 100644 (file)
@@ -127,7 +127,7 @@ public final class MulBlankRecord extends Record {
     public int serialize(int offset, byte [] data) {
         throw new RecordFormatException( "Sorry, you can't serialize MulBlank in this release");
     }
-    public int getRecordSize() {
+    protected int getDataSize() {
         throw new RecordFormatException( "Sorry, you can't serialize MulBlank in this release");
     }
 }
index c6d002ddc813aba5cf64df1f5f5c5c611f510ee9..dbb41c10f0a5dfa09db0db1f58de9f56b417af24 100644 (file)
@@ -116,7 +116,7 @@ public final class MulRKRecord extends Record {
        public int serialize(int offset, byte [] data) {
                throw new RecordFormatException( "Sorry, you can't serialize MulRK in this release");
        }
-       public int getRecordSize() {
+       protected int getDataSize() {
                throw new RecordFormatException( "Sorry, you can't serialize MulRK in this release");
        }
 
index f75716d5093c7842c7837dcf7fb93f7526b11a19..707d6b2ea5e679f0fa120fa09e461f86e178e5bd 100644 (file)
@@ -408,10 +408,9 @@ public final class NameRecord extends Record {
                } 
                return nChars;
        }
-
-       public int getRecordSize(){
-               return 4 // sid + size
-                       + 13 // 3 shorts + 7 bytes
+       
+       protected int getDataSize() {
+               return 13 // 3 shorts + 7 bytes
                        + getNameRawSize()
                        + field_14_custom_menu_text.length()
                        + field_15_description_text.length()
index 1a82d56e9dd734b66ec20241ffc7b3f563031768..2888614f42dd06bd072eea5ed747fe215fbc92d5 100644 (file)
@@ -24,8 +24,8 @@ import org.apache.poi.util.LittleEndian;
  *
  * @author Yegor Kozlov
  */
-public class NoteRecord extends Record {
-    public final static short sid = 0x1C;
+public final class NoteRecord extends Record {
+    public final static short sid = 0x001C;
 
     /**
      * Flag indicating that the comment is hidden (default)
@@ -100,16 +100,13 @@ public class NoteRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        int retval = 4 + 2 + 2 + 2 + 2 + 2 + 1 + field_5_author.length() + 1;
-
-        return retval;
+    protected int getDataSize() {
+        return 2 + 2 + 2 + 2 + 2 + 1 + field_5_author.length() + 1;
     }
 
     /**
      * Convert this record to string.
-     * Used by BiffViewer and other utulities.
+     * Used by BiffViewer and other utilities.
      */
      public String toString()
     {
index 3f35184ebf57ad2956bad7fb2cfbed112d234e1d..f00f47696a1317c7065f87558bcadcf5b19df2c4 100644 (file)
@@ -66,9 +66,8 @@ public final class NumberFormatIndexRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index e4283f0eac722acbde6fcb258e592a8cd6b9d6a9..a0c55c6e420fc24a8f1d7909ddcbae4baf4c9358 100644 (file)
@@ -142,9 +142,8 @@ public final class NumberRecord extends Record implements CellValueRecordInterfa
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 18;
+    protected int getDataSize() {
+        return 14;
     }
 
     public short getSid()
index b96914e8987a9c70aeeef59608a79bded7b75861..6addf41ebabd23462ddfb165b7af0ca79cf155c7 100644 (file)
@@ -165,10 +165,6 @@ public final class ObjRecord extends Record {
                return recSize;
        }
 
-       public int getRecordSize() {
-               return 4 + getDataSize();
-       }
-
        public short getSid() {
                return sid;
        }
index 95fc5ff7f5659775c571e1dbca26b23cc8622ebf..b5a78b860dec2d7bcd914b8cafa779b3896298ec 100644 (file)
@@ -86,9 +86,8 @@ public final class ObjectLinkRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2 + 2;
     }
 
     public short getSid()
index cdbb56d8731900e234cd34577b03543d9ead194a..f0141424ac6dc924d7e641a665f15851ed561106 100644 (file)
@@ -93,9 +93,8 @@ public class ObjectProtectRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index c1b17674371383520305d68917c51de21b123b4d..a3717f40e000fb9e25ad48d9c8b2437590158e7b 100644 (file)
@@ -37,7 +37,6 @@ import org.apache.poi.util.LittleEndian;
  * @author Danny Mui (dmui at apache dot org)
  */
 public abstract class PageBreakRecord extends Record {
-    private static final boolean IS_EMPTY_RECORD_WRITTEN = false;
     private static final int[] EMPTY_INT_ARRAY = { };
 
     private List _breaks;
@@ -97,23 +96,15 @@ public abstract class PageBreakRecord extends Record {
 
     }
 
+    public boolean isEmpty() {
+       return _breaks.isEmpty();
+    }
     protected int getDataSize() {
         return 2 + _breaks.size() * Break.ENCODED_SIZE;
     }
-    public int getRecordSize() {
-        int nBreaks = _breaks.size();
-        if (!IS_EMPTY_RECORD_WRITTEN && nBreaks < 1) {
-            return 0;
-        }
-        return 4 + getDataSize();
-    }
-
 
     public final int serialize(int offset, byte data[]) {
         int nBreaks = _breaks.size();
-        if (!IS_EMPTY_RECORD_WRITTEN && nBreaks < 1) {
-            return 0;
-        }
         int dataSize = getDataSize();
         LittleEndian.putUShort(data, offset + 0, getSid());
         LittleEndian.putUShort(data, offset + 2, dataSize);
index 0cf78563619d9193bd47fe833b46191956daeba4..75a13f6ad3897ebea3fa99541223c847f34af0ae 100644 (file)
@@ -96,9 +96,8 @@ public class PaletteRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4 + 2 + (field_1_numcolors * 4);
+    protected int getDataSize() {
+        return 2 + (field_1_numcolors * 4);
     }
 
     public short getSid()
index f02e517a313470379a7ef3eb50525a5b663dff7d..7b16ec442f82aa62d67f331f2da19717bfe49f54 100644 (file)
@@ -102,9 +102,8 @@ public final class PaneRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2 + 2 + 2 + 2;
     }
 
     public short getSid()
index b7b9d075ab300fe0c05249b608bc72ce61d7cd79..ff6445ca85f983135b5ddee6b87b39c0d3a4c21d 100644 (file)
@@ -96,8 +96,8 @@ public class PasswordRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize() {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid() {
index 5c5567a86ba8a772b7a2b09673ca6faa4dfdf2c7..7538872fdfa39bcc6d7448fa2dac50e31fbe9588 100644 (file)
@@ -87,9 +87,8 @@ public class PasswordRev4Record
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 1a50441ff9f1c5f319d7bc16be2cfc641b2078df..d0bba5e6737aa9399bcd8e00519a0c881fedf6d0 100644 (file)
@@ -60,9 +60,8 @@ public final class PlotAreaRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4 ;
+    protected int getDataSize() {
+        return 0;
     }
 
     public short getSid()
index 04a1240809a3946189ac40245c2084a1e23ab3c2..03cf58a357a388b03cb72b9cf3d2bd72aa6ce324 100644 (file)
@@ -74,9 +74,8 @@ public final class PlotGrowthRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 4 + 4;
+    protected int getDataSize() {
+        return 4 + 4;
     }
 
     public short getSid()
index a147cfff18727d4875466b31289d624cdec3c0d4..56bb8cbd97ad37bdae2a49d8e9cb90a66a0fc644 100644 (file)
@@ -94,9 +94,8 @@ public class PrecisionRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 7b4de7c68e78d5952df97c983465d89d5317004d..1ddaed715a6f77518ba0c3ff369856aac7737061 100644 (file)
@@ -93,9 +93,8 @@ public class PrintGridlinesRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 61c1cce86eabb7d27af548345ac323133ae6aabe..5f63a5eba677e749cf695c5d30b5838d0272a189 100644 (file)
@@ -92,9 +92,8 @@ public class PrintHeadersRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index e41f278d5411e26a2f7dde266561d7303f509530..136fc03f1693a88e25a9137af7aa2e3273373390 100644 (file)
@@ -340,9 +340,8 @@ public class PrintSetupRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 38;
+    protected int getDataSize() {
+        return 34;
     }
 
     public short getSid()
index d5425c55234823e9674da19410cd15409cc45f21..a0b6bf48890dede3e5ab3e770b0dacb251b80a90 100644 (file)
@@ -94,9 +94,8 @@ public class ProtectRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index b7d2f4323f37a68b93482ee0c74eb3539edda7e9..ae86f776283596b82eaaada14842856af73bca4a 100644 (file)
@@ -92,9 +92,8 @@ public class ProtectionRev4Record
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index af2832b9d4f39fb2bedf58d0b6da022e548ee0aa..48a8c564f5d94c028aa3303834e40a724187af36 100644 (file)
@@ -34,7 +34,6 @@ import org.apache.poi.util.HexDump;
  * REFERENCE:  PG 376 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P>
  * @author Andrew C. Oliver (acoliver at apache dot org)
  * @author Jason Height (jheight at chariot dot net dot au)
- * @version 2.0-pre
  * @see org.apache.poi.hssf.record.NumberRecord
  */
 public final class RKRecord extends Record implements CellValueRecordInterface {
@@ -137,7 +136,7 @@ public final class RKRecord extends Record implements CellValueRecordInterface {
        public int serialize(int offset, byte [] data) {
                throw new RecordFormatException( "Sorry, you can't serialize RK in this release");
        }
-       public int getRecordSize() {
+       protected int getDataSize() {
                throw new RecordFormatException( "Sorry, you can't serialize RK in this release");
        }
 
index c0cab053c9a0584238ed0175ebf4670c2da78bbc..d66e31089b1e8750abf25e6ccdf9b80eb455c396 100644 (file)
@@ -116,9 +116,8 @@ public final class RecalcIdRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4 + (getRecalcIdArray().length * 2);
+    protected int getDataSize() {
+        return (getRecalcIdArray().length * 2);
     }
 
     public short getSid()
index 56f6deb6a29ba3ae4d27c35d73e2015a80301ec9..5b42e5fcbc0fb903adb094cea8c4716687aeb8f2 100644 (file)
@@ -54,19 +54,18 @@ public abstract class Record extends RecordBase {
         return retval;
     }
 
+    public final int getRecordSize() {
+       return 4 + getDataSize();
+    }
     /**
      * @return the size of the data portion of this record 
      * (does not include initial 4 bytes for sid and size)
      */
-    protected int getDataSize() {
-       // implementation is currently a hack
-       // will eventually swap this out
-       return getRecordSize() - 4;
-    }
+    protected abstract int getDataSize();
+    
     /**
      * get a string representation of the record (for biffview/debugging)
      */
-
     public String toString()
     {
         return super.toString();
index f0567509bfa57fc40d72de6ec5ddd32501c0012c..0f20d6ae1bc05343027b0bea8555c811c0009115 100644 (file)
@@ -91,9 +91,8 @@ public class RefModeRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 021a34c69be081ee891b29bf2d276b8785de5da1..41277e61725b03e0b8a710fe14cbf52e80904d57 100644 (file)
@@ -92,9 +92,8 @@ public class RefreshAllRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 32fb7c8a482a1c563c8a1aa0bf1b59da3ffab4de..2a4994bd6b60d8815888b8b568c5d2bda100945e 100644 (file)
@@ -52,7 +52,9 @@ public final class RightMarginRecord extends Record implements Margin {
         return getRecordSize();
     }
 
-    public int getRecordSize()    {        return 4 + 8;    }
+    protected int getDataSize() {
+        return 8;
+    }
 
     public short getSid()    {        return sid;    }
 
@@ -73,4 +75,4 @@ public final class RightMarginRecord extends Record implements Margin {
         rec.field_1_margin = this.field_1_margin;
         return rec;
     }
-}  // END OF CL
\ No newline at end of file
+}  // END OF 
\ No newline at end of file
index f893bf2831ec533a0fc6d8646fbbfe7557458b4e..25adc67f5aee1307d7cde936dca227fcb550feb2 100644 (file)
@@ -351,9 +351,8 @@ public final class RowRecord extends Record {
         return ENCODED_SIZE;
     }
 
-    public int getRecordSize()
-    {
-        return ENCODED_SIZE;
+    protected int getDataSize() {
+        return ENCODED_SIZE - 4;
     }
 
     public short getSid()
index 09093af6c67dbbb64e54c15add24897137c90ba2..0b30d32e038ffb969019de5c2bb061fded74caeb 100644 (file)
@@ -74,9 +74,8 @@ public final class SCLRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2;
     }
 
     public short getSid()
index ca75af00d4c64afc28582670290db5c4bdb012bd..7c56d955ec87d99756cfbd460da82e5251b8cea9 100644 (file)
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,6 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
 
 package org.apache.poi.hssf.record;
 
@@ -39,10 +37,8 @@ import java.util.Iterator;
  * @see org.apache.poi.hssf.record.LabelSSTRecord
  * @see org.apache.poi.hssf.record.ContinueRecord
  */
-
-public class SSTRecord
-        extends Record
-{
+public final class SSTRecord extends Record {
+    public static final short sid = 0x00FC;
 
       private static UnicodeString EMPTY_STRING = new UnicodeString("");
 
@@ -63,8 +59,6 @@ public class SSTRecord
     /** overhead for each string includes the string's character count (a short) and the flag describing its characteristics (a byte) */
     static final int STRING_MINIMAL_OVERHEAD = LittleEndianConsts.SHORT_SIZE + LittleEndianConsts.BYTE_SIZE;
 
-    public static final short sid = 0xfc;
-
     /** union of strings in the SST and EXTSST */
     private int field_1_num_strings;
 
@@ -375,11 +369,10 @@ public class SSTRecord
     }
 
 
-    public int getRecordSize()
-    {
+    protected int getDataSize() {
         SSTRecordSizeCalculator calculator = new SSTRecordSizeCalculator(field_3_strings);
         int recordSize = calculator.getRecordSize();
-        return recordSize;
+        return recordSize-4;
     }
 
     SSTDeserializer getDeserializer()
index 9cf008fe18cc55639c942459813981c9cad46847..769f6ac97e4b8b1b5bfcb2d63e5d3910fbc49e76 100644 (file)
@@ -85,9 +85,8 @@ public class SaveRecalcRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 037eed02067412361c21b20121013e754b731685..cf58666eb11307fd47669b369888c56cc5ffc5c6 100644 (file)
@@ -94,9 +94,8 @@ public class ScenarioProtectRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 5dad6e1862dafa3cef5edec9824d5422d4452df4..2898c8d142aef8654c66bba309f7edce6ed3172d 100644 (file)
@@ -164,10 +164,6 @@ public final class SelectionRecord extends Record {
         return 4 + dataSize;
     }
 
-    public int getRecordSize() {
-        return 4 + getDataSize();
-    }
-
     public short getSid() {
         return sid;
     }
index 0f5c193615b74722b7a8008b485d08a4fe2d83ee..0754aa506e1399c75ddb7dcf8e2c95046e89fb2f 100644 (file)
@@ -66,9 +66,8 @@ public final class SeriesChartGroupIndexRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 70565c66b1fa51bdb23f760485561fd8f0c1bfe0..af75ced7c2b95e2ce6510279ed65fa8bd47c3463 100644 (file)
@@ -66,9 +66,8 @@ public final class SeriesIndexRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 868358b0d28cbb225ece318999727b4a576785f1..60d971de82a1b5ed1165f62ad84c7e1386615742 100644 (file)
@@ -81,9 +81,8 @@ public final class SeriesLabelsRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 4753eae05f3dbd4232c9820fa8c4fbe7cba44e36..a6ebefd255b4ba4bba2cfa636657a4fb834975eb 100644 (file)
@@ -74,9 +74,8 @@ public final class SeriesListRecord extends Record {
         return 4 + dataSize;
     }
 
-    public int getRecordSize()
-    {
-        return 4  + field_1_seriesNumbers.length * 2 + 2;
+    protected int getDataSize() {
+        return field_1_seriesNumbers.length * 2 + 2;
     }
 
     public short getSid()
index b2ab88e8c2f154b9f8a66e65da41978e90313154..ec35521da9140fa1eee3dac94c01e3f3e4e1a639 100644 (file)
@@ -114,9 +114,8 @@ public final class SeriesRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 2 + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 2 + 2 + 2 + 2 + 2 + 2;
     }
 
     public short getSid()
index da0e854eaaddb82e725115276edf8a47352d91e1..d1ca886ff41a8f4ff541ca3960bbcb67f4f30aee 100644 (file)
@@ -88,9 +88,8 @@ public final class SeriesTextRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 1 + 1 + (field_2_textLength *2);
+    protected int getDataSize() {
+        return 2 + 1 + 1 + (field_2_textLength *2);
     }
 
     public short getSid()
index 6b38c40a4a12b677cea737dee2f7be9364f1d701..648a5b1269a27222914613d50ead7b251e86af22 100644 (file)
@@ -68,9 +68,8 @@ public final class SeriesToChartGroupRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 3672b881a260f11b83d94a8c741d54aab622831a..f30c00959020492b9bc43705728124dd20f396fe 100644 (file)
@@ -67,8 +67,8 @@ public abstract class SharedValueRecordBase extends Record {
                return (short) _range.getLastColumn();
        }
 
-       public final int getRecordSize() {
-               return 4 + CellRangeAddress8Bit.ENCODED_SIZE + getExtraDataSize();
+       protected int getDataSize() {
+               return CellRangeAddress8Bit.ENCODED_SIZE + getExtraDataSize();
        }
 
        protected abstract int getExtraDataSize();
index 1f7a5e44e4fe2f553e8873d4f98971cb76fac438..ecfc6156c385ed53451143215099a21091fe3437 100644 (file)
@@ -90,9 +90,8 @@ public final class SheetPropertiesRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2 + 1;
+    protected int getDataSize() {
+        return 2 + 1;
     }
 
     public short getSid()
index d56e105f5f0442a8d95fb9e426e926c6c8fe5ba4..620a07e093d70b93396ac9a2dc04dd1d20036412 100644 (file)
@@ -68,9 +68,8 @@ public class StringRecord extends Record {
         return isUnCompressedUnicode() ? field_1_string_length * 2 : field_1_string_length;
     }
 
-    public int getRecordSize()
-    {
-        return 4 + 2 + 1 + getStringByteLength();
+    protected int getDataSize() {
+        return 2 + 1 + getStringByteLength();
     }
 
     /**
index f1ae0ab0fbbc782f0c0cd0552860a7255c8d5aab..af60e692444dd510e8981b93b0fb184d3007913e 100644 (file)
@@ -188,10 +188,6 @@ public final class StyleRecord extends Record {
                return 4+dataSize;
        }
 
-       public int getRecordSize() {
-               return 4 + getDataSize();
-       }
-
        public short getSid()
        {
                return sid;
index 067d9d07a7a65c9812d4f967ebb3d8e4e5da7a92..a58c5c8c97beda7cfb3224a5cf810561fc5a0ae1 100644 (file)
@@ -198,10 +198,6 @@ public final class SupBookRecord extends Record {
         return field_1_number_of_sheets;
     }
 
-    public int getRecordSize() {
-        return getDataSize() + 4;
-    }
-
     public short getSid()
     {
         return sid;
index d5aca3e045315dc328549da6ca50365a9234658e..9478d008bf2957255e953c91e9bcab29320936a6 100644 (file)
@@ -98,9 +98,8 @@ public final class TabIdRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4 + (getTabIdArray().length * 2);
+    protected int getDataSize() {
+        return (getTabIdArray().length * 2);
     }
 
     public short getSid()
index 3b4ac6bb7ecb253cdd94c6d4c8d6472fccafe715..0a50e181b28938153f85bc8e054a6c111a3e2796 100644 (file)
@@ -167,7 +167,7 @@ public final class TextObjectRecord extends Record {
         * Only for the current record. does not include any subsequent Continue
         * records
         */
-       protected int getDataSize() {
+       private int getCurrentRecordDataSize() {
                int result = 2 + 2 + 2 + 2 + 2 + 2 + 2 + 4;
                if (_linkRefPtg != null) {
                        result += 2 // formula size
@@ -181,7 +181,7 @@ public final class TextObjectRecord extends Record {
        }
 
        private int serializeTXORecord(int offset, byte[] data) {
-               int dataSize = getDataSize();
+               int dataSize = getCurrentRecordDataSize();
                int recSize = dataSize+4;
                LittleEndianOutput out = new LittleEndianByteArrayOutputStream(data, offset, recSize);
                
@@ -272,10 +272,10 @@ public final class TextObjectRecord extends Record {
 
        /**
         * Note - this total size includes all potential {@link ContinueRecord}s written
+        * but it is not the "ushort size" value to be written at the start of the first BIFF record 
         */
-       public int getRecordSize() {
-               int baseSize = 4 + getDataSize();
-               return baseSize + getTrailingRecordsSize();
+       protected int getDataSize() {
+               return getCurrentRecordDataSize() + getTrailingRecordsSize();
        }
 
        
index aeb9dc89c0a5e02e4f448dbc9df2e281f6985b4e..0820e6baf3f896a051a2e565183765b946212da2 100644 (file)
@@ -202,9 +202,8 @@ public final class TextRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 1 + 1 + 2 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 1 + 1 + 2 + 4 + 4 + 4 + 4 + 4 + 2 + 2 + 2 + 2;
     }
 
     public short getSid()
index f24f033eb1ce62cf20fbad81d2d2c6b91d7a86c3..3b662d18bb5651f6d77e8b1abaf1e6a5a5c233a8 100644 (file)
@@ -149,9 +149,8 @@ public final class TickRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 1 + 1 + 1 + 1 + 4 + 8 + 8 + 2 + 2 + 2;
+    protected int getDataSize() {
+        return 1 + 1 + 1 + 1 + 4 + 8 + 8 + 2 + 2 + 2;
     }
 
     public short getSid()
index 4d1a19a77b6a83b93302cb356b9c54fb450be280..e52326e5cfb590274f560f5e5238c523cd4c840a 100644 (file)
@@ -55,7 +55,9 @@ public final class TopMarginRecord extends Record implements Margin {
         return getRecordSize();
     }
 
-    public int getRecordSize()    {        return 4 + 8;    }
+    protected int getDataSize() {
+        return 8;
+    }
 
     public short getSid()    {        return sid;    }
 
@@ -76,4 +78,4 @@ public final class TopMarginRecord extends Record implements Margin {
         rec.field_1_margin = this.field_1_margin;
         return rec;
     }
-}  // END OF CLA
\ No newline at end of file
+}  // END OF C
\ No newline at end of file
index adc2cdeb907bf80067fcda358f125521726f7c90..01ae71f5af30b5b0ddaeedd021453574889e84cc 100644 (file)
@@ -27,14 +27,9 @@ import org.apache.poi.util.LittleEndian;
  * 
  * @author Olivier Leprince
  */
+public final class UncalcedRecord extends Record  {
+       public final static short sid = 0x005E;
 
-public class UncalcedRecord extends Record 
-{
-       public final static short sid = 0x5E;
-
-       /**
-        * Default constructor
-        */
        public UncalcedRecord() {
        }
 
@@ -60,8 +55,8 @@ public class UncalcedRecord extends Record
                return getRecordSize();
        }
 
-       public int getRecordSize() {
-               return UncalcedRecord.getStaticRecordSize();
+       protected int getDataSize() {
+               return 2;
        }
 
        public static int getStaticRecordSize() {
index e4464eb790bcb5d7587a2e711140db03c498e03f..f09b3cb2da08cba2e201f6e3a27afdbe227debf2 100644 (file)
@@ -67,9 +67,8 @@ public final class UnitsRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 2;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 77de66d9b32fdfaf434b36ba39842e867cfc588c..61630357a8f69de503324681d797d7f0d0f2b8f2 100644 (file)
@@ -87,8 +87,8 @@ public final class UnknownRecord extends Record {
                return 4 + dataSize;
        }
 
-       public final int getRecordSize() {
-               return 4 + _rawData.length;
+       protected int getDataSize() {
+               return _rawData.length;
        }
 
        /**
index 8e64ef3d4a6fe86af3372add461427b12a9ad022..e513cc8125f97519cf1a69373d5da2601ae41cf0 100644 (file)
@@ -93,9 +93,8 @@ public class UseSelFSRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 7326a3292903015e16d79f165142bac0a3ea647f..6e4c4d03c63f3804ff7c951b85d55e8792993803 100644 (file)
@@ -80,9 +80,8 @@ public final class VCenterRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 9caffa73b54d1ec41ec25e68184dda4a15547b11..fa13af68aef04d8f3cb3a0bd8adccbedd54dac16 100644 (file)
@@ -119,9 +119,8 @@ public final class ValueRangeRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4  + 8 + 8 + 8 + 8 + 8 + 2;
+    protected int getDataSize() {
+        return 8 + 8 + 8 + 8 + 8 + 2;
     }
 
     public short getSid()
index bdb1cb4847868bac8212b3b8eabb218b7042fc3c..d58e26d9d76d4efbf88fc9fc7fd25ff102f0fa02 100644 (file)
@@ -325,9 +325,8 @@ public final class WSBoolRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 7afc5fa1f893ab5ac66a793f999f0a01b57413eb..8fb0772132db2d598c0e1765e456c5d4a5b56fc3 100644 (file)
@@ -439,9 +439,8 @@ public final class WindowOneRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 22;
+    protected int getDataSize() {
+        return 18;
     }
 
     public short getSid()
index 13d54e9b5e3dc3e6816b59e19a9a97352182cb55..e61d8611fc14fbad5d911d4ed0bd1ad7afc07f63 100644 (file)
@@ -92,9 +92,8 @@ public class WindowProtectRecord
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 6;
+    protected int getDataSize() {
+        return 2;
     }
 
     public short getSid()
index 9023d2d6920534268fc834781f63291ce0a3f7c0..70cc29166fbbf81110788a08c908b8ef13c64c7a 100644 (file)
@@ -537,9 +537,8 @@ public final class WindowTwoRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 22;
+    protected int getDataSize() {
+        return 18;
     }
 
     public short getSid()
index 6b005c7f4403f8fb509ced1ce351c7445771297b..5870a9ace4f816b501845dbcc6b8708f0df94d79 100644 (file)
@@ -133,8 +133,8 @@ public final class WriteAccessRecord extends Record {
                return 4 + DATA_SIZE;
        }
 
-       public int getRecordSize() {
-               return 4 + DATA_SIZE;
+       protected int getDataSize() {
+               return DATA_SIZE;
        }
 
        public short getSid() {
index eb27e0ec129dc3ec245c3bc60009e1183d582be5..797f872430563aa84ec14411ce9eb120e3139590 100644 (file)
@@ -56,9 +56,8 @@ public final class WriteProtectRecord extends Record {
         return getRecordSize();
     }
 
-    public int getRecordSize()
-    {
-        return 4;
+    protected int getDataSize() {
+        return 0;
     }
 
     public short getSid()
index 819940e12e1988150a30042a5ad9bb19ff464e5d..c4d1565970275b9e830c6b5af4a4a0348f9d4757 100644 (file)
@@ -210,6 +210,15 @@ public final class PageSettingsBlock extends RecordAggregate {
                        rv.visitRecord(r);
                }
        }
+       private static void visitIfPresent(PageBreakRecord r, RecordVisitor rv) {
+               if (r != null) {
+                       if (r.isEmpty()) {
+                               // its OK to not serialize empty page break records
+                               return;
+                       }
+                       rv.visitRecord(r);
+               }
+       }
 
        /**
         * creates the Header Record and sets it to nothing/0 length
index 4357c57e3b2e028afc1effec77422265411521ac..4b4dd0af7aa667e72e415587592c5cdf3be7073f 100644 (file)
@@ -30,7 +30,6 @@ import org.apache.poi.hssf.model.Sheet;
 import org.apache.poi.hssf.record.NameRecord;
 import org.apache.poi.hssf.record.Record;
 import org.apache.poi.hssf.record.RecordFormatException;
-import org.apache.poi.hssf.record.RecordInputStream;
 import org.apache.poi.hssf.record.formula.Area3DPtg;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.TempFile;
@@ -504,8 +503,8 @@ public final class TestHSSFWorkbook extends TestCase {
         public int serialize(int offset, byte[] data) {
             return 4;
         }
-        public int getRecordSize() {
-            return 8;
+        protected int getDataSize() {
+               return 4;
         }
     }