aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Beeker <kiwiwings@apache.org>2015-09-28 23:16:58 +0000
committerAndreas Beeker <kiwiwings@apache.org>2015-09-28 23:16:58 +0000
commit079d946894f90bbb158f2f35a763357237715271 (patch)
treedd06f4fb78013fe78f55cb65567ffeb004212eb4 /src
parent69100bf81e02fa145fbde5b2f4ab19cea8eba0e0 (diff)
downloadpoi-079d946894f90bbb158f2f35a763357237715271.tar.gz
poi-079d946894f90bbb158f2f35a763357237715271.zip
Sonar fixes - add cloneable interface to classes with clone()
Sonar fixes - remove pubic/static/final modifier from interfaces git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1705789 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src')
-rw-r--r--src/integrationtest/org/apache/poi/hssf/usermodel/RecordsStresser.java3
-rw-r--r--src/java/org/apache/poi/ddf/EscherRecord.java12
-rw-r--r--src/java/org/apache/poi/ddf/EscherTextboxRecord.java17
-rw-r--r--src/java/org/apache/poi/ddf/UnknownEscherRecord.java12
-rw-r--r--src/java/org/apache/poi/hssf/dev/BiffViewer.java2
-rw-r--r--src/java/org/apache/poi/hssf/model/InternalSheet.java14
-rw-r--r--src/java/org/apache/poi/hssf/record/AbstractEscherHolderRecord.java8
-rw-r--r--src/java/org/apache/poi/hssf/record/ArrayRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/AutoFilterInfoRecord.java8
-rw-r--r--src/java/org/apache/poi/hssf/record/BOFRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/BlankRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/BoolErrRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/BottomMarginRecord.java6
-rw-r--r--src/java/org/apache/poi/hssf/record/CFHeader12Record.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/CFHeaderBase.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/CFHeaderRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/CFRule12Record.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/CFRuleBase.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/CFRuleRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/CalcCountRecord.java7
-rw-r--r--src/java/org/apache/poi/hssf/record/CalcModeRecord.java7
-rw-r--r--src/java/org/apache/poi/hssf/record/ColumnInfoRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/CommonObjectDataSubRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/ContinueRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/DBCellRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/DVALRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/DVRecord.java7
-rw-r--r--src/java/org/apache/poi/hssf/record/DefaultColWidthRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/DefaultRowHeightRecord.java7
-rw-r--r--src/java/org/apache/poi/hssf/record/DeltaRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/DimensionsRecord.java7
-rw-r--r--src/java/org/apache/poi/hssf/record/DrawingRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/DrawingSelectionRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/EOFRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/EmbeddedObjectRefSubRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/EndSubRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/FeatHdrRecord.java9
-rw-r--r--src/java/org/apache/poi/hssf/record/FeatRecord.java9
-rw-r--r--src/java/org/apache/poi/hssf/record/FilePassRecord.java42
-rw-r--r--src/java/org/apache/poi/hssf/record/FileSharingRecord.java8
-rw-r--r--src/java/org/apache/poi/hssf/record/FooterRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/FormatRecord.java14
-rw-r--r--src/java/org/apache/poi/hssf/record/FormulaRecord.java4
-rw-r--r--src/java/org/apache/poi/hssf/record/FtCblsSubRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/FtCfSubRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/FtPioGrbitSubRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/GridsetRecord.java7
-rw-r--r--src/java/org/apache/poi/hssf/record/GroupMarkerSubRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/GutsRecord.java7
-rw-r--r--src/java/org/apache/poi/hssf/record/HCenterRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/HeaderFooterRecord.java9
-rw-r--r--src/java/org/apache/poi/hssf/record/HeaderRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/HorizontalPageBreakRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/HyperlinkRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/IndexRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/IterationRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/LabelRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/LabelSSTRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java3
-rw-r--r--src/java/org/apache/poi/hssf/record/LeftMarginRecord.java9
-rw-r--r--src/java/org/apache/poi/hssf/record/MergeCellsRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/MulBlankRecord.java2
-rw-r--r--src/java/org/apache/poi/hssf/record/NoteRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/NoteStructureSubRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/NumberRecord.java4
-rw-r--r--src/java/org/apache/poi/hssf/record/ObjRecord.java4
-rw-r--r--src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java7
-rw-r--r--src/java/org/apache/poi/hssf/record/Record.java12
-rw-r--r--src/java/org/apache/poi/hssf/record/aggregates/ColumnInfoRecordsAggregate.java15
-rw-r--r--src/java/org/apache/poi/hssf/record/cf/BorderFormatting.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/cf/ColorGradientThreshold.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/cf/DataBarThreshold.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/cf/FontFormatting.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/cf/IconMultiStateThreshold.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/AreaFormatRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/AreaRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/AxisLineFormatRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/AxisOptionsRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/AxisParentRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/AxisRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/AxisUsedRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/BarRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/BeginRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/CategorySeriesAxisRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/ChartEndBlockRecord.java2
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/ChartRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/ChartStartBlockRecord.java2
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/DatRecord.java6
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/DataFormatRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/DefaultDataLabelTextPropertiesRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/EndRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/FontBasisRecord.java7
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/FontIndexRecord.java7
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/FrameRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/LegendRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/LineFormatRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/LinkedDataRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/NumberFormatIndexRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/chart/ObjectLinkRecord.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/common/ExtendedColor.java5
-rw-r--r--src/java/org/apache/poi/hssf/record/common/FtrHeader.java2
-rw-r--r--src/java/org/apache/poi/poifs/filesystem/BATManaged.java4
-rw-r--r--src/java/org/apache/poi/poifs/storage/BlockList.java12
-rw-r--r--src/java/org/apache/poi/poifs/storage/BlockWritable.java3
-rw-r--r--src/java/org/apache/poi/sl/usermodel/Insets2D.java12
-rw-r--r--src/java/org/apache/poi/ss/formula/ptg/AreaI.java8
-rw-r--r--src/java/org/apache/poi/ss/usermodel/BorderFormatting.java28
-rw-r--r--src/java/org/apache/poi/ss/usermodel/Cell.java12
-rw-r--r--src/java/org/apache/poi/ss/usermodel/CellStyle.java88
-rw-r--r--src/java/org/apache/poi/wp/usermodel/CharacterRun.java88
-rw-r--r--src/scratchpad/src/org/apache/poi/hwpf/model/CharIndexTranslator.java4
111 files changed, 490 insertions, 397 deletions
diff --git a/src/integrationtest/org/apache/poi/hssf/usermodel/RecordsStresser.java b/src/integrationtest/org/apache/poi/hssf/usermodel/RecordsStresser.java
index acc8b97cd2..1b712f788e 100644
--- a/src/integrationtest/org/apache/poi/hssf/usermodel/RecordsStresser.java
+++ b/src/integrationtest/org/apache/poi/hssf/usermodel/RecordsStresser.java
@@ -56,6 +56,8 @@ public class RecordsStresser {
assertArrayEquals("Record of type " + record.getClass() + " should return the same byte array via the clone() method, but did return a different array",
origBytes, newBytes);
+ } catch (CloneNotSupportedException e) {
+ throw new RuntimeException(e);
} catch (RuntimeException e) {
// some Records do not implement clone, ignore those for now
assertTrue(e.getMessage().contains("needs to define a clone method"));
@@ -70,6 +72,7 @@ public class RecordsStresser {
try {
HSSFWorkbook wb = new HSSFWorkbook(stream);
handleWorkbook(wb);
+ wb.close();
} finally {
stream.close();
}
diff --git a/src/java/org/apache/poi/ddf/EscherRecord.java b/src/java/org/apache/poi/ddf/EscherRecord.java
index 2fa56d5b57..f09d925f3e 100644
--- a/src/java/org/apache/poi/ddf/EscherRecord.java
+++ b/src/java/org/apache/poi/ddf/EscherRecord.java
@@ -22,7 +22,11 @@ import java.io.PrintWriter;
import java.util.Collections;
import java.util.List;
-import org.apache.poi.util.*;
+import org.apache.poi.util.BitField;
+import org.apache.poi.util.BitFieldFactory;
+import org.apache.poi.util.HexDump;
+import org.apache.poi.util.Internal;
+import org.apache.poi.util.LittleEndian;
/**
* The base abstract record from which all escher records are defined. Subclasses will need
@@ -223,9 +227,9 @@ public abstract class EscherRecord {
/**
* Escher records may need to be clonable in the future.
*/
- public Object clone()
- {
- throw new RuntimeException( "The class " + getClass().getName() + " needs to define a clone method" );
+ @Override
+ public EscherRecord clone() throws CloneNotSupportedException {
+ throw new CloneNotSupportedException( "The class " + getClass().getName() + " needs to define a clone method" );
}
/**
diff --git a/src/java/org/apache/poi/ddf/EscherTextboxRecord.java b/src/java/org/apache/poi/ddf/EscherTextboxRecord.java
index c21c227968..75d5b2528a 100644
--- a/src/java/org/apache/poi/ddf/EscherTextboxRecord.java
+++ b/src/java/org/apache/poi/ddf/EscherTextboxRecord.java
@@ -26,12 +26,8 @@ import org.apache.poi.util.RecordFormatException;
* text in the format of the parent application, rather than in
* Escher format. We don't attempt to understand the contents, since
* they will be in the parent's format, not Escher format.
- *
- * @author Glen Stampoultzis (glens at apache.org)
- * @author Nick Burch (nick at torchbox dot com)
*/
-public class EscherTextboxRecord extends EscherRecord
-{
+public class EscherTextboxRecord extends EscherRecord implements Cloneable {
public static final short RECORD_ID = (short)0xF00D;
public static final String RECORD_DESCRIPTION = "msofbtClientTextbox";
@@ -102,10 +98,13 @@ public class EscherTextboxRecord extends EscherRecord
return 8 + thedata.length;
}
- public Object clone()
- {
- // shallow clone
- return super.clone();
+ @Override
+ public EscherTextboxRecord clone() {
+ EscherTextboxRecord etr = new EscherTextboxRecord();
+ etr.setOptions(this.getOptions());
+ etr.setRecordId(this.getRecordId());
+ etr.thedata = this.thedata.clone();
+ return etr;
}
public String getRecordName() {
diff --git a/src/java/org/apache/poi/ddf/UnknownEscherRecord.java b/src/java/org/apache/poi/ddf/UnknownEscherRecord.java
index e60703ae3a..11a5edb02e 100644
--- a/src/java/org/apache/poi/ddf/UnknownEscherRecord.java
+++ b/src/java/org/apache/poi/ddf/UnknownEscherRecord.java
@@ -31,7 +31,7 @@ import org.apache.poi.util.LittleEndian;
* @author Glen Stampoultzis (glens at apache.org)
* @author Zhang Zhang (zhangzzh at gmail.com)
*/
-public final class UnknownEscherRecord extends EscherRecord {
+public final class UnknownEscherRecord extends EscherRecord implements Cloneable {
private static final byte[] NO_BYTES = new byte[0];
/** The data for this record not including the the 8 byte header */
@@ -113,9 +113,13 @@ public final class UnknownEscherRecord extends EscherRecord {
_childRecords = childRecords;
}
- public Object clone() {
- // shallow clone
- return super.clone();
+ @Override
+ public UnknownEscherRecord clone() {
+ UnknownEscherRecord uer = new UnknownEscherRecord();
+ uer.thedata = this.thedata.clone();
+ uer.setOptions(this.getOptions());
+ uer.setRecordId(this.getRecordId());
+ return uer;
}
public String getRecordName() {
diff --git a/src/java/org/apache/poi/hssf/dev/BiffViewer.java b/src/java/org/apache/poi/hssf/dev/BiffViewer.java
index 2f08b6bcc6..2752169344 100644
--- a/src/java/org/apache/poi/hssf/dev/BiffViewer.java
+++ b/src/java/org/apache/poi/hssf/dev/BiffViewer.java
@@ -487,7 +487,7 @@ public final class BiffViewer {
}
}
- private static interface IBiffRecordListener {
+ private interface IBiffRecordListener {
void processRecord(int globalOffset, int recordCounter, int sid, int dataSize, byte[] data);
diff --git a/src/java/org/apache/poi/hssf/model/InternalSheet.java b/src/java/org/apache/poi/hssf/model/InternalSheet.java
index 7eb76c43b3..c6d0ae51c9 100644
--- a/src/java/org/apache/poi/hssf/model/InternalSheet.java
+++ b/src/java/org/apache/poi/hssf/model/InternalSheet.java
@@ -390,7 +390,11 @@ public final class InternalSheet {
_destList = destList;
}
public void visitRecord(Record r) {
- _destList.add((Record)r.clone());
+ try {
+ _destList.add((Record)r.clone());
+ } catch (CloneNotSupportedException e) {
+ throw new RuntimeException(e);
+ }
}
}
@@ -415,8 +419,12 @@ public final class InternalSheet {
*/
rb = new DrawingRecord();
}
- Record rec = (Record) ((Record) rb).clone();
- clonedRecords.add(rec);
+ try {
+ Record rec = (Record) ((Record) rb).clone();
+ clonedRecords.add(rec);
+ } catch (CloneNotSupportedException e) {
+ throw new RuntimeException(e);
+ }
}
return createSheet(new RecordStream(clonedRecords, 0));
}
diff --git a/src/java/org/apache/poi/hssf/record/AbstractEscherHolderRecord.java b/src/java/org/apache/poi/hssf/record/AbstractEscherHolderRecord.java
index d3263834c7..e55d041883 100644
--- a/src/java/org/apache/poi/hssf/record/AbstractEscherHolderRecord.java
+++ b/src/java/org/apache/poi/hssf/record/AbstractEscherHolderRecord.java
@@ -36,7 +36,7 @@ import org.apache.poi.hssf.util.LazilyConcatenatedByteArray;
* @author Glen Stampoultzis (glens at apache.org)
* @author Michael Zalewski (zalewski at optonline.net)
*/
-public abstract class AbstractEscherHolderRecord extends Record {
+public abstract class AbstractEscherHolderRecord extends Record implements Cloneable {
private static boolean DESERIALISE;
static {
try {
@@ -148,9 +148,9 @@ public abstract class AbstractEscherHolderRecord extends Record {
public abstract short getSid();
- public Object clone()
- {
- return cloneViaReserialise();
+ @Override
+ public AbstractEscherHolderRecord clone() {
+ return (AbstractEscherHolderRecord)cloneViaReserialise();
}
public void addEscherRecord(int index, EscherRecord element)
diff --git a/src/java/org/apache/poi/hssf/record/ArrayRecord.java b/src/java/org/apache/poi/hssf/record/ArrayRecord.java
index 919822858a..abc183971e 100644
--- a/src/java/org/apache/poi/hssf/record/ArrayRecord.java
+++ b/src/java/org/apache/poi/hssf/record/ArrayRecord.java
@@ -30,7 +30,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Josh Micich
*/
-public final class ArrayRecord extends SharedValueRecordBase {
+public final class ArrayRecord extends SharedValueRecordBase implements Cloneable {
public final static short sid = 0x0221;
private static final int OPT_ALWAYS_RECALCULATE = 0x0001;
@@ -96,7 +96,8 @@ public final class ArrayRecord extends SharedValueRecordBase {
return sb.toString();
}
- public Object clone() {
+ @Override
+ public ArrayRecord clone() {
ArrayRecord rec = new ArrayRecord(_formula.copy(), getRange());
// they both seem unused, but clone them nevertheless to have an exact copy
diff --git a/src/java/org/apache/poi/hssf/record/AutoFilterInfoRecord.java b/src/java/org/apache/poi/hssf/record/AutoFilterInfoRecord.java
index 881cf3b01a..e514dc21be 100644
--- a/src/java/org/apache/poi/hssf/record/AutoFilterInfoRecord.java
+++ b/src/java/org/apache/poi/hssf/record/AutoFilterInfoRecord.java
@@ -28,9 +28,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Yegor Kozlov
*/
-public final class AutoFilterInfoRecord
- extends StandardRecord
-{
+public final class AutoFilterInfoRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x9D;
/**
* Number of AutoFilter drop-down arrows on the sheet
@@ -93,9 +91,9 @@ public final class AutoFilterInfoRecord
}
@Override
- public Object clone()
+ public AutoFilterInfoRecord clone()
{
- return cloneViaReserialise();
+ return (AutoFilterInfoRecord)cloneViaReserialise();
}
} \ No newline at end of file
diff --git a/src/java/org/apache/poi/hssf/record/BOFRecord.java b/src/java/org/apache/poi/hssf/record/BOFRecord.java
index f6a36bf7f2..aca680cf5e 100644
--- a/src/java/org/apache/poi/hssf/record/BOFRecord.java
+++ b/src/java/org/apache/poi/hssf/record/BOFRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Andrew C. Oliver
* @author Jason Height (jheight at chariot dot net dot au)
*/
-public final class BOFRecord extends StandardRecord {
+public final class BOFRecord extends StandardRecord implements Cloneable {
/**
* for BIFF8 files the BOF is 0x809. For earlier versions see
* {@link #biff2_sid} {@link #biff3_sid} {@link #biff4_sid}
@@ -268,7 +268,8 @@ public final class BOFRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public BOFRecord clone() {
BOFRecord rec = new BOFRecord();
rec.field_1_version = field_1_version;
rec.field_2_type = field_2_type;
diff --git a/src/java/org/apache/poi/hssf/record/BlankRecord.java b/src/java/org/apache/poi/hssf/record/BlankRecord.java
index 8c8a28d97a..d465ad3b40 100644
--- a/src/java/org/apache/poi/hssf/record/BlankRecord.java
+++ b/src/java/org/apache/poi/hssf/record/BlankRecord.java
@@ -28,7 +28,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Jason Height (jheight at chariot dot net dot au)
* @version 2.0-pre
*/
-public final class BlankRecord extends StandardRecord implements CellValueRecordInterface {
+public final class BlankRecord extends StandardRecord implements CellValueRecordInterface, Cloneable {
public final static short sid = 0x0201;
private int field_1_row;
private short field_2_col;
@@ -137,7 +137,8 @@ public final class BlankRecord extends StandardRecord implements CellValueRecord
return 6;
}
- public Object clone() {
+ @Override
+ public BlankRecord clone() {
BlankRecord rec = new BlankRecord();
rec.field_1_row = field_1_row;
rec.field_2_col = field_2_col;
diff --git a/src/java/org/apache/poi/hssf/record/BoolErrRecord.java b/src/java/org/apache/poi/hssf/record/BoolErrRecord.java
index 580dc782e4..c3bc804ddf 100644
--- a/src/java/org/apache/poi/hssf/record/BoolErrRecord.java
+++ b/src/java/org/apache/poi/hssf/record/BoolErrRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Michael P. Harhen
* @author Jason Height (jheight at chariot dot net dot au)
*/
-public final class BoolErrRecord extends CellRecord {
+public final class BoolErrRecord extends CellRecord implements Cloneable {
public final static short sid = 0x0205;
private int _value;
/**
@@ -169,7 +169,8 @@ public final class BoolErrRecord extends CellRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public BoolErrRecord clone() {
BoolErrRecord rec = new BoolErrRecord();
copyBaseFields(rec);
rec._value = _value;
diff --git a/src/java/org/apache/poi/hssf/record/BottomMarginRecord.java b/src/java/org/apache/poi/hssf/record/BottomMarginRecord.java
index 406c45a464..a21f1ede0a 100644
--- a/src/java/org/apache/poi/hssf/record/BottomMarginRecord.java
+++ b/src/java/org/apache/poi/hssf/record/BottomMarginRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.*;
*
* @author Shawn Laubach (slaubach at apache dot org)
*/
-public final class BottomMarginRecord extends StandardRecord implements Margin {
+public final class BottomMarginRecord extends StandardRecord implements Margin, Cloneable {
public final static short sid = 0x29;
private double field_1_margin;
@@ -80,8 +80,8 @@ public final class BottomMarginRecord extends StandardRecord implements Margin {
this.field_1_margin = field_1_margin;
}
- public Object clone()
- {
+ @Override
+ public BottomMarginRecord clone() {
BottomMarginRecord rec = new BottomMarginRecord();
rec.field_1_margin = this.field_1_margin;
return rec;
diff --git a/src/java/org/apache/poi/hssf/record/CFHeader12Record.java b/src/java/org/apache/poi/hssf/record/CFHeader12Record.java
index 89c4421de5..241faf1395 100644
--- a/src/java/org/apache/poi/hssf/record/CFHeader12Record.java
+++ b/src/java/org/apache/poi/hssf/record/CFHeader12Record.java
@@ -26,7 +26,7 @@ import org.apache.poi.util.LittleEndianOutput;
* Conditional Formatting Header v12 record CFHEADER12 (0x0879),
* for conditional formattings introduced in Excel 2007 and newer.
*/
-public final class CFHeader12Record extends CFHeaderBase implements FutureRecord {
+public final class CFHeader12Record extends CFHeaderBase implements FutureRecord, Cloneable {
public static final short sid = 0x0879;
private FtrHeader futureHeader;
@@ -79,7 +79,8 @@ public final class CFHeader12Record extends CFHeaderBase implements FutureRecord
return futureHeader.getAssociatedRange();
}
- public Object clone() {
+ @Override
+ public CFHeader12Record clone() {
CFHeader12Record result = new CFHeader12Record();
result.futureHeader = (FtrHeader)futureHeader.clone();
super.copyTo(result);
diff --git a/src/java/org/apache/poi/hssf/record/CFHeaderBase.java b/src/java/org/apache/poi/hssf/record/CFHeaderBase.java
index 4e40a34613..0b8182d556 100644
--- a/src/java/org/apache/poi/hssf/record/CFHeaderBase.java
+++ b/src/java/org/apache/poi/hssf/record/CFHeaderBase.java
@@ -26,7 +26,7 @@ import org.apache.poi.util.LittleEndianOutput;
* Parent of Conditional Formatting Header records,
* {@link CFHeaderRecord} and {@link CFHeader12Record}.
*/
-public abstract class CFHeaderBase extends StandardRecord {
+public abstract class CFHeaderBase extends StandardRecord implements Cloneable {
private int field_1_numcf;
private int field_2_need_recalculation_and_id;
private CellRangeAddress field_3_enclosing_cell_range;
@@ -150,4 +150,7 @@ public abstract class CFHeaderBase extends StandardRecord {
result.field_3_enclosing_cell_range = field_3_enclosing_cell_range.copy();
result.field_4_cell_ranges = field_4_cell_ranges.copy();
}
+
+ @Override
+ public abstract CFHeaderBase clone();
}
diff --git a/src/java/org/apache/poi/hssf/record/CFHeaderRecord.java b/src/java/org/apache/poi/hssf/record/CFHeaderRecord.java
index a456224a70..c3c6851fe6 100644
--- a/src/java/org/apache/poi/hssf/record/CFHeaderRecord.java
+++ b/src/java/org/apache/poi/hssf/record/CFHeaderRecord.java
@@ -24,7 +24,7 @@ import org.apache.poi.ss.util.CellRangeAddress;
* Used to describe a {@link CFRuleRecord}.
* @see CFHeader12Record
*/
-public final class CFHeaderRecord extends CFHeaderBase {
+public final class CFHeaderRecord extends CFHeaderBase implements Cloneable {
public static final short sid = 0x01B0;
/** Creates new CFHeaderRecord */
@@ -47,7 +47,8 @@ public final class CFHeaderRecord extends CFHeaderBase {
return sid;
}
- public Object clone() {
+ @Override
+ public CFHeaderRecord clone() {
CFHeaderRecord result = new CFHeaderRecord();
super.copyTo(result);
return result;
diff --git a/src/java/org/apache/poi/hssf/record/CFRule12Record.java b/src/java/org/apache/poi/hssf/record/CFRule12Record.java
index 0f29305c5c..2aa5bd1a93 100644
--- a/src/java/org/apache/poi/hssf/record/CFRule12Record.java
+++ b/src/java/org/apache/poi/hssf/record/CFRule12Record.java
@@ -49,7 +49,7 @@ import org.apache.poi.util.POILogger;
* {@link #CONDITION_TYPE_CELL_VALUE_IS} or {@link #CONDITION_TYPE_FORMULA},
* this is only used for the other types
*/
-public final class CFRule12Record extends CFRuleBase implements FutureRecord {
+public final class CFRule12Record extends CFRuleBase implements FutureRecord, Cloneable {
public static final short sid = 0x087A;
private FtrHeader futureHeader;
@@ -409,7 +409,8 @@ public final class CFRule12Record extends CFRuleBase implements FutureRecord {
return buffer.toString();
}
- public Object clone() {
+ @Override
+ public CFRule12Record clone() {
CFRule12Record rec = new CFRule12Record(getConditionType(), getComparisonOperation());
rec.futureHeader.setAssociatedRange(futureHeader.getAssociatedRange().copy());
diff --git a/src/java/org/apache/poi/hssf/record/CFRuleBase.java b/src/java/org/apache/poi/hssf/record/CFRuleBase.java
index 7dfcc376fd..a7bfb825c5 100644
--- a/src/java/org/apache/poi/hssf/record/CFRuleBase.java
+++ b/src/java/org/apache/poi/hssf/record/CFRuleBase.java
@@ -39,7 +39,7 @@ import org.apache.poi.util.POILogger;
* new-style (Excel 2007+) also make use of {@link CFRule12Record}
* and {@link CFExRuleRecord} for their rules.
*/
-public abstract class CFRuleBase extends StandardRecord {
+public abstract class CFRuleBase extends StandardRecord implements Cloneable {
public static final class ComparisonOperator {
public static final byte NO_COMPARISON = 0;
public static final byte BETWEEN = 1;
@@ -452,4 +452,7 @@ public abstract class CFRuleBase extends StandardRecord {
rec.setFormula1(getFormula1().copy());
rec.setFormula2(getFormula2().copy());
}
+
+ @Override
+ public abstract CFRuleBase clone();
}
diff --git a/src/java/org/apache/poi/hssf/record/CFRuleRecord.java b/src/java/org/apache/poi/hssf/record/CFRuleRecord.java
index 52678c0fda..697030b976 100644
--- a/src/java/org/apache/poi/hssf/record/CFRuleRecord.java
+++ b/src/java/org/apache/poi/hssf/record/CFRuleRecord.java
@@ -31,7 +31,7 @@ import org.apache.poi.util.LittleEndianOutput;
* new-style (Excel 2007+) also make use of {@link CFRule12Record}
* and {@link CFExRuleRecord} for their rules.
*/
-public final class CFRuleRecord extends CFRuleBase {
+public final class CFRuleRecord extends CFRuleBase implements Cloneable {
public static final short sid = 0x01B1;
/** Creates new CFRuleRecord */
@@ -139,7 +139,8 @@ public final class CFRuleRecord extends CFRuleBase {
return buffer.toString();
}
- public Object clone() {
+ @Override
+ public CFRuleRecord clone() {
CFRuleRecord rec = new CFRuleRecord(getConditionType(), getComparisonOperation());
super.copyTo(rec);
return rec;
diff --git a/src/java/org/apache/poi/hssf/record/CalcCountRecord.java b/src/java/org/apache/poi/hssf/record/CalcCountRecord.java
index f8b4534bc0..f416def2f8 100644
--- a/src/java/org/apache/poi/hssf/record/CalcCountRecord.java
+++ b/src/java/org/apache/poi/hssf/record/CalcCountRecord.java
@@ -33,9 +33,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @see org.apache.poi.hssf.record.CalcModeRecord
*/
-public final class CalcCountRecord
- extends StandardRecord
-{
+public final class CalcCountRecord extends StandardRecord implements Cloneable {
public final static short sid = 0xC;
private short field_1_iterations;
@@ -92,7 +90,8 @@ public final class CalcCountRecord
return sid;
}
- public Object clone() {
+ @Override
+ public CalcCountRecord clone() {
CalcCountRecord rec = new CalcCountRecord();
rec.field_1_iterations = field_1_iterations;
return rec;
diff --git a/src/java/org/apache/poi/hssf/record/CalcModeRecord.java b/src/java/org/apache/poi/hssf/record/CalcModeRecord.java
index 538856d57c..9f74ecf714 100644
--- a/src/java/org/apache/poi/hssf/record/CalcModeRecord.java
+++ b/src/java/org/apache/poi/hssf/record/CalcModeRecord.java
@@ -33,9 +33,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @see org.apache.poi.hssf.record.CalcCountRecord
*/
-public final class CalcModeRecord
- extends StandardRecord
-{
+public final class CalcModeRecord extends StandardRecord implements Cloneable {
public final static short sid = 0xD;
/**
@@ -120,7 +118,8 @@ public final class CalcModeRecord
return sid;
}
- public Object clone() {
+ @Override
+ public CalcModeRecord clone() {
CalcModeRecord rec = new CalcModeRecord();
rec.field_1_calcmode = field_1_calcmode;
return rec;
diff --git a/src/java/org/apache/poi/hssf/record/ColumnInfoRecord.java b/src/java/org/apache/poi/hssf/record/ColumnInfoRecord.java
index 4982ef92b3..bf27b37a21 100644
--- a/src/java/org/apache/poi/hssf/record/ColumnInfoRecord.java
+++ b/src/java/org/apache/poi/hssf/record/ColumnInfoRecord.java
@@ -28,7 +28,7 @@ import org.apache.poi.util.BitFieldFactory;
* REFERENCE: PG 293 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/>
* @author Andrew C. Oliver (acoliver at apache dot org)
*/
-public final class ColumnInfoRecord extends StandardRecord {
+public final class ColumnInfoRecord extends StandardRecord implements Cloneable {
public static final short sid = 0x007D;
private int _firstCol;
@@ -244,7 +244,8 @@ public final class ColumnInfoRecord extends StandardRecord {
return sb.toString();
}
- public Object clone() {
+ @Override
+ public ColumnInfoRecord clone() {
ColumnInfoRecord rec = new ColumnInfoRecord();
rec._firstCol = _firstCol;
rec._lastCol = _lastCol;
diff --git a/src/java/org/apache/poi/hssf/record/CommonObjectDataSubRecord.java b/src/java/org/apache/poi/hssf/record/CommonObjectDataSubRecord.java
index 3cd2f282c1..30509f3a30 100644
--- a/src/java/org/apache/poi/hssf/record/CommonObjectDataSubRecord.java
+++ b/src/java/org/apache/poi/hssf/record/CommonObjectDataSubRecord.java
@@ -28,7 +28,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class CommonObjectDataSubRecord extends SubRecord {
+public final class CommonObjectDataSubRecord extends SubRecord implements Cloneable {
public final static short sid = 0x0015;
private static final BitField locked = BitFieldFactory.getInstance(0x0001);
@@ -153,7 +153,8 @@ public final class CommonObjectDataSubRecord extends SubRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public CommonObjectDataSubRecord clone() {
CommonObjectDataSubRecord rec = new CommonObjectDataSubRecord();
rec.field_1_objectType = field_1_objectType;
diff --git a/src/java/org/apache/poi/hssf/record/ContinueRecord.java b/src/java/org/apache/poi/hssf/record/ContinueRecord.java
index d43df86c64..17a0c51653 100644
--- a/src/java/org/apache/poi/hssf/record/ContinueRecord.java
+++ b/src/java/org/apache/poi/hssf/record/ContinueRecord.java
@@ -28,7 +28,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Andrew C. Oliver (acoliver at apache dot org)
* @author Csaba Nagy (ncsaba at yahoo dot com)
*/
-public final class ContinueRecord extends StandardRecord {
+public final class ContinueRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x003C;
private byte[] _data;
@@ -69,7 +69,8 @@ public final class ContinueRecord extends StandardRecord {
_data = in.readRemainder();
}
- public Object clone() {
+ @Override
+ public ContinueRecord clone() {
return new ContinueRecord(_data);
}
}
diff --git a/src/java/org/apache/poi/hssf/record/DBCellRecord.java b/src/java/org/apache/poi/hssf/record/DBCellRecord.java
index b9b9d44c89..e91c30a0e1 100644
--- a/src/java/org/apache/poi/hssf/record/DBCellRecord.java
+++ b/src/java/org/apache/poi/hssf/record/DBCellRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Andrew C. Oliver (acoliver at apache dot org)
* @author Jason Height
*/
-public final class DBCellRecord extends StandardRecord {
+public final class DBCellRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x00D7;
public final static int BLOCK_SIZE = 32;
@@ -116,7 +116,8 @@ public final class DBCellRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public DBCellRecord clone() {
// safe because immutable
return this;
}
diff --git a/src/java/org/apache/poi/hssf/record/DVALRecord.java b/src/java/org/apache/poi/hssf/record/DVALRecord.java
index a9559fa6a1..be8baa651e 100644
--- a/src/java/org/apache/poi/hssf/record/DVALRecord.java
+++ b/src/java/org/apache/poi/hssf/record/DVALRecord.java
@@ -25,7 +25,7 @@ import org.apache.poi.util.LittleEndianOutput;
* This record is the list header of all data validation records (0x01BE) in the current sheet.
* @author Dragos Buleandra (dragos.buleandra@trade2b.ro)
*/
-public final class DVALRecord extends StandardRecord {
+public final class DVALRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x01B2;
/** Options of the DVAL */
@@ -159,7 +159,8 @@ public final class DVALRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public DVALRecord clone() {
DVALRecord rec = new DVALRecord();
rec.field_1_options = field_1_options;
rec.field_2_horiz_pos = field_2_horiz_pos;
diff --git a/src/java/org/apache/poi/hssf/record/DVRecord.java b/src/java/org/apache/poi/hssf/record/DVRecord.java
index 980e4eeb7f..8f6408d1fd 100644
--- a/src/java/org/apache/poi/hssf/record/DVRecord.java
+++ b/src/java/org/apache/poi/hssf/record/DVRecord.java
@@ -36,7 +36,7 @@ import org.apache.poi.util.StringUtil;
* @author Dragos Buleandra (dragos.buleandra@trade2b.ro)
* @author Josh Micich
*/
-public final class DVRecord extends StandardRecord {
+public final class DVRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x01BE;
/** the unicode string used for error/prompt title/text when not present */
@@ -345,7 +345,8 @@ public final class DVRecord extends StandardRecord {
* Clones the object. Uses serialisation, as the
* contents are somewhat complex
*/
- public Object clone() {
- return cloneViaReserialise();
+ @Override
+ public DVRecord clone() {
+ return (DVRecord)cloneViaReserialise();
}
}
diff --git a/src/java/org/apache/poi/hssf/record/DefaultColWidthRecord.java b/src/java/org/apache/poi/hssf/record/DefaultColWidthRecord.java
index 6e3160ff62..c2f37b8c4d 100644
--- a/src/java/org/apache/poi/hssf/record/DefaultColWidthRecord.java
+++ b/src/java/org/apache/poi/hssf/record/DefaultColWidthRecord.java
@@ -28,7 +28,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Jason Height (jheight at chariot dot net dot au)
* @version 2.0-pre
*/
-public final class DefaultColWidthRecord extends StandardRecord {
+public final class DefaultColWidthRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x0055;
private int field_1_col_width;
@@ -91,7 +91,8 @@ public final class DefaultColWidthRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public DefaultColWidthRecord clone() {
DefaultColWidthRecord rec = new DefaultColWidthRecord();
rec.field_1_col_width = field_1_col_width;
return rec;
diff --git a/src/java/org/apache/poi/hssf/record/DefaultRowHeightRecord.java b/src/java/org/apache/poi/hssf/record/DefaultRowHeightRecord.java
index 0d015e09ab..850e895c96 100644
--- a/src/java/org/apache/poi/hssf/record/DefaultRowHeightRecord.java
+++ b/src/java/org/apache/poi/hssf/record/DefaultRowHeightRecord.java
@@ -31,9 +31,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @version 2.0-pre
*/
-public final class DefaultRowHeightRecord
- extends StandardRecord
-{
+public final class DefaultRowHeightRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x225;
private short field_1_option_flags;
private short field_2_row_height;
@@ -122,7 +120,8 @@ public final class DefaultRowHeightRecord
return sid;
}
- public Object clone() {
+ @Override
+ public DefaultRowHeightRecord clone() {
DefaultRowHeightRecord rec = new DefaultRowHeightRecord();
rec.field_1_option_flags = field_1_option_flags;
rec.field_2_row_height = field_2_row_height;
diff --git a/src/java/org/apache/poi/hssf/record/DeltaRecord.java b/src/java/org/apache/poi/hssf/record/DeltaRecord.java
index c6d4577cf1..03058c14ab 100644
--- a/src/java/org/apache/poi/hssf/record/DeltaRecord.java
+++ b/src/java/org/apache/poi/hssf/record/DeltaRecord.java
@@ -26,7 +26,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Andrew C. Oliver (acoliver at apache dot org)
* @author Jason Height (jheight at chariot dot net dot au)
*/
-public final class DeltaRecord extends StandardRecord {
+public final class DeltaRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x0010;
public final static double DEFAULT_VALUE = 0.0010; // should be .001
@@ -71,7 +71,8 @@ public final class DeltaRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public DeltaRecord clone() {
// immutable
return this;
}
diff --git a/src/java/org/apache/poi/hssf/record/DimensionsRecord.java b/src/java/org/apache/poi/hssf/record/DimensionsRecord.java
index fb4f51d178..e326b5cb6f 100644
--- a/src/java/org/apache/poi/hssf/record/DimensionsRecord.java
+++ b/src/java/org/apache/poi/hssf/record/DimensionsRecord.java
@@ -31,9 +31,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @version 2.0-pre
*/
-public final class DimensionsRecord
- extends StandardRecord
-{
+public final class DimensionsRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x200;
private int field_1_first_row;
private int field_2_last_row; // plus 1
@@ -170,7 +168,8 @@ public final class DimensionsRecord
return sid;
}
- public Object clone() {
+ @Override
+ public DimensionsRecord clone() {
DimensionsRecord rec = new DimensionsRecord();
rec.field_1_first_row = field_1_first_row;
rec.field_2_last_row = field_2_last_row;
diff --git a/src/java/org/apache/poi/hssf/record/DrawingRecord.java b/src/java/org/apache/poi/hssf/record/DrawingRecord.java
index fac9e715bb..3a64e23a35 100644
--- a/src/java/org/apache/poi/hssf/record/DrawingRecord.java
+++ b/src/java/org/apache/poi/hssf/record/DrawingRecord.java
@@ -21,7 +21,7 @@ import org.apache.poi.util.LittleEndianOutput;
/**
* DrawingRecord (0x00EC)<p/>
*/
-public final class DrawingRecord extends StandardRecord {
+public final class DrawingRecord extends StandardRecord implements Cloneable {
public static final short sid = 0x00EC;
private static final byte[] EMPTY_BYTE_ARRAY = {};
@@ -75,7 +75,8 @@ public final class DrawingRecord extends StandardRecord {
* Cloning of drawing records must be executed through HSSFPatriarch, because all id's must be changed
* @return cloned drawing records
*/
- public Object clone() {
+ @Override
+ public DrawingRecord clone() {
DrawingRecord rec = new DrawingRecord();
rec.recordData = recordData.clone();
if (contd != null) {
diff --git a/src/java/org/apache/poi/hssf/record/DrawingSelectionRecord.java b/src/java/org/apache/poi/hssf/record/DrawingSelectionRecord.java
index 4c57395dcd..1a1f028abb 100644
--- a/src/java/org/apache/poi/hssf/record/DrawingSelectionRecord.java
+++ b/src/java/org/apache/poi/hssf/record/DrawingSelectionRecord.java
@@ -28,7 +28,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Josh Micich
*/
-public final class DrawingSelectionRecord extends StandardRecord {
+public final class DrawingSelectionRecord extends StandardRecord implements Cloneable {
public static final short sid = 0x00ED;
/**
@@ -110,7 +110,8 @@ public final class DrawingSelectionRecord extends StandardRecord {
}
}
- public Object clone() {
+ @Override
+ public DrawingSelectionRecord clone() {
// currently immutable
return this;
}
diff --git a/src/java/org/apache/poi/hssf/record/EOFRecord.java b/src/java/org/apache/poi/hssf/record/EOFRecord.java
index 627f74387e..02d734a99f 100644
--- a/src/java/org/apache/poi/hssf/record/EOFRecord.java
+++ b/src/java/org/apache/poi/hssf/record/EOFRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Jason Height (jheight at chariot dot net dot au)
* @version 2.0-pre
*/
-public final class EOFRecord extends StandardRecord {
+public final class EOFRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x0A;
public static final int ENCODED_SIZE = 4;
@@ -67,7 +67,8 @@ public final class EOFRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public EOFRecord clone() {
return instance;
}
}
diff --git a/src/java/org/apache/poi/hssf/record/EmbeddedObjectRefSubRecord.java b/src/java/org/apache/poi/hssf/record/EmbeddedObjectRefSubRecord.java
index 88fb10005c..14eee1c439 100644
--- a/src/java/org/apache/poi/hssf/record/EmbeddedObjectRefSubRecord.java
+++ b/src/java/org/apache/poi/hssf/record/EmbeddedObjectRefSubRecord.java
@@ -40,7 +40,7 @@ import org.apache.poi.util.StringUtil;
*
* @author Daniel Noll
*/
-public final class EmbeddedObjectRefSubRecord extends SubRecord {
+public final class EmbeddedObjectRefSubRecord extends SubRecord implements Cloneable {
private static POILogger logger = POILogFactory.getLogger(EmbeddedObjectRefSubRecord.class);
public static final short sid = 0x0009;
@@ -305,7 +305,8 @@ public final class EmbeddedObjectRefSubRecord extends SubRecord {
return field_6_unknown;
}
- public Object clone() {
+ @Override
+ public EmbeddedObjectRefSubRecord clone() {
return this; // TODO proper clone
}
diff --git a/src/java/org/apache/poi/hssf/record/EndSubRecord.java b/src/java/org/apache/poi/hssf/record/EndSubRecord.java
index e31692b021..482a9825e2 100644
--- a/src/java/org/apache/poi/hssf/record/EndSubRecord.java
+++ b/src/java/org/apache/poi/hssf/record/EndSubRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class EndSubRecord extends SubRecord {
+public final class EndSubRecord extends SubRecord implements Cloneable {
public final static short sid = 0x0000; // Note - zero sid is somewhat unusual (compared to plain Records)
private static final int ENCODED_SIZE = 0;
@@ -75,7 +75,8 @@ public final class EndSubRecord extends SubRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public EndSubRecord clone() {
EndSubRecord rec = new EndSubRecord();
return rec;
diff --git a/src/java/org/apache/poi/hssf/record/FeatHdrRecord.java b/src/java/org/apache/poi/hssf/record/FeatHdrRecord.java
index 5382bef34b..d12bc8b129 100644
--- a/src/java/org/apache/poi/hssf/record/FeatHdrRecord.java
+++ b/src/java/org/apache/poi/hssf/record/FeatHdrRecord.java
@@ -28,7 +28,7 @@ import org.apache.poi.util.LittleEndianOutput;
* The collection of data (Globals Substream ABNF, macro sheet substream
* ABNF or worksheet substream ABNF) specifies Shared Feature data.
*/
-public final class FeatHdrRecord extends StandardRecord {
+public final class FeatHdrRecord extends StandardRecord implements Cloneable {
/**
* Specifies the enhanced protection type. Used to protect a
* shared workbook by restricting access to some areas of it
@@ -106,9 +106,10 @@ public final class FeatHdrRecord extends StandardRecord {
return 12 + 2+1+4+rgbHdrData.length;
}
- //HACK: do a "cheat" clone, see Record.java for more information
- public Object clone() {
- return cloneViaReserialise();
+ @Override
+ public FeatHdrRecord clone() {
+ //HACK: do a "cheat" clone, see Record.java for more information
+ return (FeatHdrRecord)cloneViaReserialise();
}
diff --git a/src/java/org/apache/poi/hssf/record/FeatRecord.java b/src/java/org/apache/poi/hssf/record/FeatRecord.java
index fd583a3d78..404fc24c55 100644
--- a/src/java/org/apache/poi/hssf/record/FeatRecord.java
+++ b/src/java/org/apache/poi/hssf/record/FeatRecord.java
@@ -33,7 +33,7 @@ import org.apache.poi.util.POILogger;
* This record specifies Shared Features data. It is normally paired
* up with a {@link FeatHdrRecord}.
*/
-public final class FeatRecord extends StandardRecord {
+public final class FeatRecord extends StandardRecord implements Cloneable {
private static POILogger logger = POILogFactory.getLogger(FeatRecord.class);
public final static short sid = 0x0868;
// SIDs from newer versions
@@ -175,9 +175,10 @@ public final class FeatRecord extends StandardRecord {
}
- //HACK: do a "cheat" clone, see Record.java for more information
- public Object clone() {
- return cloneViaReserialise();
+ @Override
+ public FeatRecord clone() {
+ //HACK: do a "cheat" clone, see Record.java for more information
+ return (FeatRecord)cloneViaReserialise();
}
diff --git a/src/java/org/apache/poi/hssf/record/FilePassRecord.java b/src/java/org/apache/poi/hssf/record/FilePassRecord.java
index 59d144f8ce..4793f13055 100644
--- a/src/java/org/apache/poi/hssf/record/FilePassRecord.java
+++ b/src/java/org/apache/poi/hssf/record/FilePassRecord.java
@@ -28,17 +28,20 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Jason Height (jheight at chariot dot net dot au)
*/
-public final class FilePassRecord extends StandardRecord {
- public final static short sid = 0x002F;
+public final class FilePassRecord extends StandardRecord implements Cloneable {
+ public static final short sid = 0x002F;
+ private static final int ENCRYPTION_XOR = 0;
+ private static final int ENCRYPTION_OTHER = 1;
private int _encryptionType;
private KeyData _keyData;
- private static interface KeyData {
+ private static interface KeyData extends Cloneable {
void read(RecordInputStream in);
void serialize(LittleEndianOutput out);
int getDataSize();
void appendToString(StringBuffer buffer);
+ KeyData clone();
}
public static class Rc4KeyData implements KeyData {
@@ -119,6 +122,17 @@ public final class FilePassRecord extends StandardRecord {
buffer.append(" .rc4.verifier = ").append(HexDump.toHex(_encryptedVerifier)).append("\n");
buffer.append(" .rc4.verifierHash = ").append(HexDump.toHex(_encryptedVerifierHash)).append("\n");
}
+
+ @Override
+ public Rc4KeyData clone() {
+ Rc4KeyData other = new Rc4KeyData();
+ other._salt = this._salt.clone();
+ other._encryptedVerifier = this._encryptedVerifier.clone();
+ other._encryptedVerifierHash = this._encryptedVerifierHash.clone();
+ other._encryptionInfo = this._encryptionInfo;
+ other._minorVersionNo = this._minorVersionNo;
+ return other;
+ }
}
public static class XorKeyData implements KeyData {
@@ -170,12 +184,22 @@ public final class FilePassRecord extends StandardRecord {
buffer.append(" .xor.key = ").append(HexDump.intToHex(_key)).append("\n");
buffer.append(" .xor.verifier = ").append(HexDump.intToHex(_verifier)).append("\n");
}
+
+ @Override
+ public XorKeyData clone() {
+ XorKeyData other = new XorKeyData();
+ other._key = this._key;
+ other._verifier = this._verifier;
+ return other;
+ }
}
- private static final int ENCRYPTION_XOR = 0;
- private static final int ENCRYPTION_OTHER = 1;
-
+ private FilePassRecord(FilePassRecord other) {
+ _encryptionType = other._encryptionType;
+ _keyData = other._keyData.clone();
+ }
+
public FilePassRecord(RecordInputStream in) {
_encryptionType = in.readUShort();
@@ -282,9 +306,9 @@ public final class FilePassRecord extends StandardRecord {
return sid;
}
- public Object clone() {
- // currently immutable
- return this;
+ @Override
+ public FilePassRecord clone() {
+ return new FilePassRecord(this);
}
public String toString() {
diff --git a/src/java/org/apache/poi/hssf/record/FileSharingRecord.java b/src/java/org/apache/poi/hssf/record/FileSharingRecord.java
index a82b4b65bf..1834e0c83d 100644
--- a/src/java/org/apache/poi/hssf/record/FileSharingRecord.java
+++ b/src/java/org/apache/poi/hssf/record/FileSharingRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.StringUtil;
* REFERENCE: PG 314 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/>
* @author Andrew C. Oliver (acoliver at apache dot org)
*/
-public final class FileSharingRecord extends StandardRecord {
+public final class FileSharingRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x005B;
private short field_1_readonly;
@@ -137,10 +137,8 @@ public final class FileSharingRecord extends StandardRecord {
return sid;
}
- /**
- * Clone this record.
- */
- public Object clone() {
+ @Override
+ public FileSharingRecord clone() {
FileSharingRecord clone = new FileSharingRecord();
clone.setReadOnly(field_1_readonly);
clone.setPassword(field_2_password);
diff --git a/src/java/org/apache/poi/hssf/record/FooterRecord.java b/src/java/org/apache/poi/hssf/record/FooterRecord.java
index 823372fc68..5031f54cb1 100644
--- a/src/java/org/apache/poi/hssf/record/FooterRecord.java
+++ b/src/java/org/apache/poi/hssf/record/FooterRecord.java
@@ -26,7 +26,7 @@ package org.apache.poi.hssf.record;
* @author Jason Height (jheight at chariot dot net dot au)
*
*/
-public final class FooterRecord extends HeaderFooterBase {
+public final class FooterRecord extends HeaderFooterBase implements Cloneable {
public final static short sid = 0x0015;
public FooterRecord(String text) {
@@ -50,7 +50,8 @@ public final class FooterRecord extends HeaderFooterBase {
return sid;
}
- public Object clone() {
+ @Override
+ public FooterRecord clone() {
return new FooterRecord(getText());
}
}
diff --git a/src/java/org/apache/poi/hssf/record/FormatRecord.java b/src/java/org/apache/poi/hssf/record/FormatRecord.java
index f587d57c91..1508bb6fc0 100644
--- a/src/java/org/apache/poi/hssf/record/FormatRecord.java
+++ b/src/java/org/apache/poi/hssf/record/FormatRecord.java
@@ -29,13 +29,19 @@ import org.apache.poi.util.StringUtil;
* @author Andrew C. Oliver (acoliver at apache dot org)
* @author Shawn M. Laubach (slaubach at apache dot org)
*/
-public final class FormatRecord extends StandardRecord {
+public final class FormatRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x041E;
private final int field_1_index_code;
private final boolean field_3_hasMultibyte;
private final String field_4_formatstring;
+ private FormatRecord(FormatRecord other) {
+ field_1_index_code = other.field_1_index_code;
+ field_3_hasMultibyte = other.field_3_hasMultibyte;
+ field_4_formatstring = other.field_4_formatstring;
+ }
+
public FormatRecord(int indexCode, String fs) {
field_1_index_code = indexCode;
field_4_formatstring = fs;
@@ -104,9 +110,9 @@ public final class FormatRecord extends StandardRecord {
public short getSid() {
return sid;
}
+
@Override
- public Object clone() {
- // immutable
- return this;
+ public FormatRecord clone() {
+ return new FormatRecord(this);
}
}
diff --git a/src/java/org/apache/poi/hssf/record/FormulaRecord.java b/src/java/org/apache/poi/hssf/record/FormulaRecord.java
index f6c2740cca..91605873ec 100644
--- a/src/java/org/apache/poi/hssf/record/FormulaRecord.java
+++ b/src/java/org/apache/poi/hssf/record/FormulaRecord.java
@@ -33,7 +33,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Andrew C. Oliver (acoliver at apache dot org)
* @author Jason Height (jheight at chariot dot net dot au)
*/
-public final class FormulaRecord extends CellRecord {
+public final class FormulaRecord extends CellRecord implements Cloneable {
public static final short sid = 0x0006; // docs say 406...because of a bug Microsoft support site article #Q184647)
private static int FIXED_SIZE = 14; // double + short + int
@@ -375,7 +375,7 @@ public final class FormulaRecord extends CellRecord {
}
@Override
- public Object clone() {
+ public FormulaRecord clone() {
FormulaRecord rec = new FormulaRecord();
copyBaseFields(rec);
rec.field_4_value = field_4_value;
diff --git a/src/java/org/apache/poi/hssf/record/FtCblsSubRecord.java b/src/java/org/apache/poi/hssf/record/FtCblsSubRecord.java
index 517add94b5..14c0ddd157 100644
--- a/src/java/org/apache/poi/hssf/record/FtCblsSubRecord.java
+++ b/src/java/org/apache/poi/hssf/record/FtCblsSubRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Yegor Kozlov
*/
-public final class FtCblsSubRecord extends SubRecord {
+public final class FtCblsSubRecord extends SubRecord implements Cloneable {
public final static short sid = 0x0C;
private static final int ENCODED_SIZE = 20;
@@ -90,7 +90,8 @@ public final class FtCblsSubRecord extends SubRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public FtCblsSubRecord clone() {
FtCblsSubRecord rec = new FtCblsSubRecord();
byte[] recdata = new byte[reserved.length];
System.arraycopy(reserved, 0, recdata, 0, recdata.length);
diff --git a/src/java/org/apache/poi/hssf/record/FtCfSubRecord.java b/src/java/org/apache/poi/hssf/record/FtCfSubRecord.java
index 1c85e9550f..08a6612835 100644
--- a/src/java/org/apache/poi/hssf/record/FtCfSubRecord.java
+++ b/src/java/org/apache/poi/hssf/record/FtCfSubRecord.java
@@ -25,7 +25,7 @@ import org.apache.poi.util.LittleEndianOutput;
/**
* The FtCf structure specifies the clipboard format of the picture-type Obj record containing this FtCf.
*/
-public final class FtCfSubRecord extends SubRecord {
+public final class FtCfSubRecord extends SubRecord implements Cloneable {
public final static short sid = 0x07;
public final static short length = 0x02;
@@ -97,7 +97,8 @@ public final class FtCfSubRecord extends SubRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public FtCfSubRecord clone() {
FtCfSubRecord rec = new FtCfSubRecord();
rec.flags = this.flags;
return rec;
diff --git a/src/java/org/apache/poi/hssf/record/FtPioGrbitSubRecord.java b/src/java/org/apache/poi/hssf/record/FtPioGrbitSubRecord.java
index 068d17a24a..bd5db8ebef 100644
--- a/src/java/org/apache/poi/hssf/record/FtPioGrbitSubRecord.java
+++ b/src/java/org/apache/poi/hssf/record/FtPioGrbitSubRecord.java
@@ -25,7 +25,7 @@ import org.apache.poi.util.LittleEndianOutput;
/**
* This structure appears as part of an Obj record that represents image display properties.
*/
-public final class FtPioGrbitSubRecord extends SubRecord {
+public final class FtPioGrbitSubRecord extends SubRecord implements Cloneable {
public final static short sid = 0x08;
public final static short length = 0x02;
@@ -151,7 +151,8 @@ public final class FtPioGrbitSubRecord extends SubRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public FtPioGrbitSubRecord clone() {
FtPioGrbitSubRecord rec = new FtPioGrbitSubRecord();
rec.flags = this.flags;
return rec;
diff --git a/src/java/org/apache/poi/hssf/record/GridsetRecord.java b/src/java/org/apache/poi/hssf/record/GridsetRecord.java
index ae2a71ccd5..14f04ab2ab 100644
--- a/src/java/org/apache/poi/hssf/record/GridsetRecord.java
+++ b/src/java/org/apache/poi/hssf/record/GridsetRecord.java
@@ -34,9 +34,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @version 2.0-pre
*/
-public final class GridsetRecord
- extends StandardRecord
-{
+public final class GridsetRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x82;
public short field_1_gridset_flag;
@@ -102,7 +100,8 @@ public final class GridsetRecord
return sid;
}
- public Object clone() {
+ @Override
+ public GridsetRecord clone() {
GridsetRecord rec = new GridsetRecord();
rec.field_1_gridset_flag = field_1_gridset_flag;
return rec;
diff --git a/src/java/org/apache/poi/hssf/record/GroupMarkerSubRecord.java b/src/java/org/apache/poi/hssf/record/GroupMarkerSubRecord.java
index 07bc89b3cc..b59f9d1d85 100644
--- a/src/java/org/apache/poi/hssf/record/GroupMarkerSubRecord.java
+++ b/src/java/org/apache/poi/hssf/record/GroupMarkerSubRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class GroupMarkerSubRecord extends SubRecord {
+public final class GroupMarkerSubRecord extends SubRecord implements Cloneable {
public final static short sid = 0x0006;
private static final byte[] EMPTY_BYTE_ARRAY = { };
@@ -70,7 +70,8 @@ public final class GroupMarkerSubRecord extends SubRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public GroupMarkerSubRecord clone() {
GroupMarkerSubRecord rec = new GroupMarkerSubRecord();
rec.reserved = new byte[reserved.length];
for ( int i = 0; i < reserved.length; i++ )
diff --git a/src/java/org/apache/poi/hssf/record/GutsRecord.java b/src/java/org/apache/poi/hssf/record/GutsRecord.java
index 2a41902da6..97cc0f7c7a 100644
--- a/src/java/org/apache/poi/hssf/record/GutsRecord.java
+++ b/src/java/org/apache/poi/hssf/record/GutsRecord.java
@@ -30,9 +30,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @version 2.0-pre
*/
-public final class GutsRecord
- extends StandardRecord
-{
+public final class GutsRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x80;
private short field_1_left_row_gutter; // size of the row gutter to the left of the rows
private short field_2_top_col_gutter; // size of the column gutter above the columns
@@ -172,7 +170,8 @@ public final class GutsRecord
return sid;
}
- public Object clone() {
+ @Override
+ public GutsRecord clone() {
GutsRecord rec = new GutsRecord();
rec.field_1_left_row_gutter = field_1_left_row_gutter;
rec.field_2_top_col_gutter = field_2_top_col_gutter;
diff --git a/src/java/org/apache/poi/hssf/record/HCenterRecord.java b/src/java/org/apache/poi/hssf/record/HCenterRecord.java
index 1c1a4201f2..604ddeae28 100644
--- a/src/java/org/apache/poi/hssf/record/HCenterRecord.java
+++ b/src/java/org/apache/poi/hssf/record/HCenterRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Jason Height (jheight at chariot dot net dot au)
* @version 2.0-pre
*/
-public final class HCenterRecord extends StandardRecord {
+public final class HCenterRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x0083;
private short field_1_hcenter;
@@ -91,7 +91,8 @@ public final class HCenterRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public HCenterRecord clone() {
HCenterRecord rec = new HCenterRecord();
rec.field_1_hcenter = field_1_hcenter;
return rec;
diff --git a/src/java/org/apache/poi/hssf/record/HeaderFooterRecord.java b/src/java/org/apache/poi/hssf/record/HeaderFooterRecord.java
index c61725c5fd..af4a385987 100644
--- a/src/java/org/apache/poi/hssf/record/HeaderFooterRecord.java
+++ b/src/java/org/apache/poi/hssf/record/HeaderFooterRecord.java
@@ -28,7 +28,7 @@ import java.util.Locale;
*
* @author Yegor Kozlov
*/
-public final class HeaderFooterRecord extends StandardRecord {
+public final class HeaderFooterRecord extends StandardRecord implements Cloneable {
private static final byte[] BLANK_GUID = new byte[16];
@@ -95,9 +95,10 @@ public final class HeaderFooterRecord extends StandardRecord {
return sb.toString();
}
- //HACK: do a "cheat" clone, see Record.java for more information
- public Object clone() {
- return cloneViaReserialise();
+ @Override
+ public HeaderFooterRecord clone() {
+ //HACK: do a "cheat" clone, see Record.java for more information
+ return (HeaderFooterRecord)cloneViaReserialise();
}
diff --git a/src/java/org/apache/poi/hssf/record/HeaderRecord.java b/src/java/org/apache/poi/hssf/record/HeaderRecord.java
index 23adedc5a8..ec6733c235 100644
--- a/src/java/org/apache/poi/hssf/record/HeaderRecord.java
+++ b/src/java/org/apache/poi/hssf/record/HeaderRecord.java
@@ -25,7 +25,7 @@ package org.apache.poi.hssf.record;
* @author Shawn Laubach (slaubach at apache dot org) Modified 3/14/02
* @author Jason Height (jheight at chariot dot net dot au)
*/
-public final class HeaderRecord extends HeaderFooterBase {
+public final class HeaderRecord extends HeaderFooterBase implements Cloneable {
public final static short sid = 0x0014;
public HeaderRecord(String text) {
@@ -49,7 +49,8 @@ public final class HeaderRecord extends HeaderFooterBase {
return sid;
}
- public Object clone() {
+ @Override
+ public HeaderRecord clone() {
return new HeaderRecord(getText());
}
}
diff --git a/src/java/org/apache/poi/hssf/record/HorizontalPageBreakRecord.java b/src/java/org/apache/poi/hssf/record/HorizontalPageBreakRecord.java
index 8077efe922..7e18f46500 100644
--- a/src/java/org/apache/poi/hssf/record/HorizontalPageBreakRecord.java
+++ b/src/java/org/apache/poi/hssf/record/HorizontalPageBreakRecord.java
@@ -25,7 +25,7 @@ import java.util.Iterator;
* @see PageBreakRecord
* @author Danny Mui (dmui at apache dot org)
*/
-public final class HorizontalPageBreakRecord extends PageBreakRecord {
+public final class HorizontalPageBreakRecord extends PageBreakRecord implements Cloneable {
public static final short sid = 0x001B;
@@ -48,7 +48,8 @@ public final class HorizontalPageBreakRecord extends PageBreakRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public PageBreakRecord clone() {
PageBreakRecord result = new HorizontalPageBreakRecord();
Iterator<Break> iterator = getBreaksIterator();
while (iterator.hasNext()) {
diff --git a/src/java/org/apache/poi/hssf/record/HyperlinkRecord.java b/src/java/org/apache/poi/hssf/record/HyperlinkRecord.java
index 471c1752a7..1d7eb20826 100644
--- a/src/java/org/apache/poi/hssf/record/HyperlinkRecord.java
+++ b/src/java/org/apache/poi/hssf/record/HyperlinkRecord.java
@@ -36,7 +36,7 @@ import org.apache.poi.util.StringUtil;
* from the Excel-97 format.
* Supports only external links for now (eg http://)
*/
-public final class HyperlinkRecord extends StandardRecord {
+public final class HyperlinkRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x01B8;
private static POILogger logger = POILogFactory.getLogger(HyperlinkRecord.class);
@@ -743,7 +743,8 @@ public final class HyperlinkRecord extends StandardRecord {
setTextMark("");
}
- public Object clone() {
+ @Override
+ public HyperlinkRecord clone() {
HyperlinkRecord rec = new HyperlinkRecord();
rec._range = _range.copy();
rec._guid = _guid;
diff --git a/src/java/org/apache/poi/hssf/record/IndexRecord.java b/src/java/org/apache/poi/hssf/record/IndexRecord.java
index 63727bb946..6e9558db2d 100644
--- a/src/java/org/apache/poi/hssf/record/IndexRecord.java
+++ b/src/java/org/apache/poi/hssf/record/IndexRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Andrew C. Oliver (acoliver at apache dot org)
* @author Jason Height (jheight at chariot dot net dot au)
*/
-public class IndexRecord extends StandardRecord {
+public class IndexRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x020B;
private int field_2_first_row; // first row on the sheet
private int field_3_last_row_add1; // last row
@@ -149,7 +149,8 @@ public class IndexRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public IndexRecord clone() {
IndexRecord rec = new IndexRecord();
rec.field_2_first_row = field_2_first_row;
rec.field_3_last_row_add1 = field_3_last_row_add1;
diff --git a/src/java/org/apache/poi/hssf/record/IterationRecord.java b/src/java/org/apache/poi/hssf/record/IterationRecord.java
index 03e77c89e3..4d7f4546dd 100644
--- a/src/java/org/apache/poi/hssf/record/IterationRecord.java
+++ b/src/java/org/apache/poi/hssf/record/IterationRecord.java
@@ -32,7 +32,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Andrew C. Oliver (acoliver at apache dot org)
* @author Jason Height (jheight at chariot dot net dot au)
*/
-public final class IterationRecord extends StandardRecord {
+public final class IterationRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x0011;
private static final BitField iterationOn = BitFieldFactory.getInstance(0x0001);
@@ -86,7 +86,8 @@ public final class IterationRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public IterationRecord clone() {
return new IterationRecord(getIteration());
}
}
diff --git a/src/java/org/apache/poi/hssf/record/LabelRecord.java b/src/java/org/apache/poi/hssf/record/LabelRecord.java
index c7a585672d..68c42f8f27 100644
--- a/src/java/org/apache/poi/hssf/record/LabelRecord.java
+++ b/src/java/org/apache/poi/hssf/record/LabelRecord.java
@@ -28,7 +28,7 @@ import org.apache.poi.util.POILogger;
*
* @see org.apache.poi.hssf.record.LabelSSTRecord
*/
-public final class LabelRecord extends Record implements CellValueRecordInterface {
+public final class LabelRecord extends Record implements CellValueRecordInterface, Cloneable {
private final static POILogger logger = POILogFactory.getLogger(LabelRecord.class);
public final static short sid = 0x0204;
@@ -170,7 +170,8 @@ public final class LabelRecord extends Record implements CellValueRecordInterfac
{
}
- public Object clone() {
+ @Override
+ public LabelRecord clone() {
LabelRecord rec = new LabelRecord();
rec.field_1_row = field_1_row;
rec.field_2_column = field_2_column;
diff --git a/src/java/org/apache/poi/hssf/record/LabelSSTRecord.java b/src/java/org/apache/poi/hssf/record/LabelSSTRecord.java
index e1b4bd20c4..ff7277d5ae 100644
--- a/src/java/org/apache/poi/hssf/record/LabelSSTRecord.java
+++ b/src/java/org/apache/poi/hssf/record/LabelSSTRecord.java
@@ -26,7 +26,7 @@ import org.apache.poi.util.LittleEndianOutput;
* value. <P>
* REFERENCE: PG 325 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P>
*/
-public final class LabelSSTRecord extends CellRecord {
+public final class LabelSSTRecord extends CellRecord implements Cloneable {
public final static short sid = 0xfd;
private int field_4_sst_index;
@@ -84,7 +84,8 @@ public final class LabelSSTRecord extends CellRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public LabelSSTRecord clone() {
LabelSSTRecord rec = new LabelSSTRecord();
copyBaseFields(rec);
rec.field_4_sst_index = field_4_sst_index;
diff --git a/src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java b/src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java
index 93a0430eb5..91b9fb7524 100644
--- a/src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java
+++ b/src/java/org/apache/poi/hssf/record/LbsDataSubRecord.java
@@ -258,7 +258,8 @@ public class LbsDataSubRecord extends SubRecord {
}
@Override
- public Object clone() {
+ public LbsDataSubRecord clone() {
+ // TODO: is immutable ???
return this;
}
diff --git a/src/java/org/apache/poi/hssf/record/LeftMarginRecord.java b/src/java/org/apache/poi/hssf/record/LeftMarginRecord.java
index e9eea8d589..5b570487de 100644
--- a/src/java/org/apache/poi/hssf/record/LeftMarginRecord.java
+++ b/src/java/org/apache/poi/hssf/record/LeftMarginRecord.java
@@ -24,8 +24,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Shawn Laubach (slaubach at apache dot org)
*/
-public final class LeftMarginRecord extends StandardRecord implements Margin
-{
+public final class LeftMarginRecord extends StandardRecord implements Margin, Cloneable {
public final static short sid = 0x0026;
private double field_1_margin;
@@ -72,10 +71,10 @@ public final class LeftMarginRecord extends StandardRecord implements Margin
this.field_1_margin = field_1_margin;
}
- public Object clone()
- {
+ @Override
+ public LeftMarginRecord clone() {
LeftMarginRecord rec = new LeftMarginRecord();
rec.field_1_margin = this.field_1_margin;
return rec;
}
-} // END OF \ No newline at end of file
+} \ No newline at end of file
diff --git a/src/java/org/apache/poi/hssf/record/MergeCellsRecord.java b/src/java/org/apache/poi/hssf/record/MergeCellsRecord.java
index c8a1379dcd..9fbc676a16 100644
--- a/src/java/org/apache/poi/hssf/record/MergeCellsRecord.java
+++ b/src/java/org/apache/poi/hssf/record/MergeCellsRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
* Description: Optional record defining a square area of cells to "merged" into one cell. <br>
* @author Andrew C. Oliver (acoliver at apache dot org)
*/
-public final class MergeCellsRecord extends StandardRecord {
+public final class MergeCellsRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x00E5;
/** sometimes the regions array is shared with other MergedCellsRecords */
private CellRangeAddress[] _regions;
@@ -102,7 +102,8 @@ public final class MergeCellsRecord extends StandardRecord {
return retval.toString();
}
- public Object clone() {
+ @Override
+ public MergeCellsRecord clone() {
int nRegions = _numberOfRegions;
CellRangeAddress[] clonedRegions = new CellRangeAddress[nRegions];
for (int i = 0; i < clonedRegions.length; i++) {
diff --git a/src/java/org/apache/poi/hssf/record/MulBlankRecord.java b/src/java/org/apache/poi/hssf/record/MulBlankRecord.java
index 695c55c877..f48ba50306 100644
--- a/src/java/org/apache/poi/hssf/record/MulBlankRecord.java
+++ b/src/java/org/apache/poi/hssf/record/MulBlankRecord.java
@@ -135,7 +135,7 @@ public final class MulBlankRecord extends StandardRecord {
}
@Override
- public Object clone() {
+ public MulBlankRecord clone() {
// immutable - so OK to return this
return this;
}
diff --git a/src/java/org/apache/poi/hssf/record/NoteRecord.java b/src/java/org/apache/poi/hssf/record/NoteRecord.java
index 86c239c6e5..261a523c00 100644
--- a/src/java/org/apache/poi/hssf/record/NoteRecord.java
+++ b/src/java/org/apache/poi/hssf/record/NoteRecord.java
@@ -25,7 +25,7 @@ import org.apache.poi.util.StringUtil;
*
* @author Yegor Kozlov
*/
-public final class NoteRecord extends StandardRecord {
+public final class NoteRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x001C;
public static final NoteRecord[] EMPTY_ARRAY = { };
@@ -235,7 +235,8 @@ public final class NoteRecord extends StandardRecord {
field_5_hasMultibyte = StringUtil.hasMultibyte(author);
}
- public Object clone() {
+ @Override
+ public NoteRecord clone() {
NoteRecord rec = new NoteRecord();
rec.field_1_row = field_1_row;
rec.field_2_col = field_2_col;
diff --git a/src/java/org/apache/poi/hssf/record/NoteStructureSubRecord.java b/src/java/org/apache/poi/hssf/record/NoteStructureSubRecord.java
index fff3f39f3f..50e79173ac 100644
--- a/src/java/org/apache/poi/hssf/record/NoteStructureSubRecord.java
+++ b/src/java/org/apache/poi/hssf/record/NoteStructureSubRecord.java
@@ -31,7 +31,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Yegor Kozlov
*/
-public final class NoteStructureSubRecord extends SubRecord {
+public final class NoteStructureSubRecord extends SubRecord implements Cloneable {
public final static short sid = 0x0D;
private static final int ENCODED_SIZE = 22;
@@ -98,7 +98,8 @@ public final class NoteStructureSubRecord extends SubRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public NoteStructureSubRecord clone() {
NoteStructureSubRecord rec = new NoteStructureSubRecord();
byte[] recdata = new byte[reserved.length];
System.arraycopy(reserved, 0, recdata, 0, recdata.length);
diff --git a/src/java/org/apache/poi/hssf/record/NumberRecord.java b/src/java/org/apache/poi/hssf/record/NumberRecord.java
index a156863aa8..ebc6d9e3fb 100644
--- a/src/java/org/apache/poi/hssf/record/NumberRecord.java
+++ b/src/java/org/apache/poi/hssf/record/NumberRecord.java
@@ -26,7 +26,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Andrew C. Oliver (acoliver at apache dot org)
* @author Jason Height (jheight at chariot dot net dot au)
*/
-public final class NumberRecord extends CellRecord {
+public final class NumberRecord extends CellRecord implements Cloneable {
public static final short sid = 0x0203;
private double field_4_value;
@@ -87,7 +87,7 @@ public final class NumberRecord extends CellRecord {
}
@Override
- public Object clone() {
+ public NumberRecord clone() {
NumberRecord rec = new NumberRecord();
copyBaseFields(rec);
rec.field_4_value = field_4_value;
diff --git a/src/java/org/apache/poi/hssf/record/ObjRecord.java b/src/java/org/apache/poi/hssf/record/ObjRecord.java
index fcc9d9f727..cce80f6be5 100644
--- a/src/java/org/apache/poi/hssf/record/ObjRecord.java
+++ b/src/java/org/apache/poi/hssf/record/ObjRecord.java
@@ -33,7 +33,7 @@ import org.apache.poi.util.LittleEndianInputStream;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class ObjRecord extends Record {
+public final class ObjRecord extends Record implements Cloneable {
public final static short sid = 0x005D;
private static final int NORMAL_PAD_ALIGNMENT = 2;
@@ -222,7 +222,7 @@ public final class ObjRecord extends Record {
}
@Override
- public Object clone() {
+ public ObjRecord clone() {
ObjRecord rec = new ObjRecord();
for (int i = 0; i < subrecords.size(); i++) {
diff --git a/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java b/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java
index 0192d81650..06aab44853 100644
--- a/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java
+++ b/src/java/org/apache/poi/hssf/record/ObjectProtectRecord.java
@@ -31,9 +31,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Andrew C. Oliver (acoliver at apache dot org)
*/
-public final class ObjectProtectRecord
- extends StandardRecord
-{
+public final class ObjectProtectRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x63;
private short field_1_protect;
@@ -97,7 +95,8 @@ public final class ObjectProtectRecord
return sid;
}
- public Object clone() {
+ @Override
+ public ObjectProtectRecord clone() {
ObjectProtectRecord rec = new ObjectProtectRecord();
rec.field_1_protect = field_1_protect;
return rec;
diff --git a/src/java/org/apache/poi/hssf/record/Record.java b/src/java/org/apache/poi/hssf/record/Record.java
index e1d54a01cb..372cc94a72 100644
--- a/src/java/org/apache/poi/hssf/record/Record.java
+++ b/src/java/org/apache/poi/hssf/record/Record.java
@@ -61,16 +61,8 @@ public abstract class Record extends RecordBase {
public abstract short getSid();
@Override
- public Object clone() {
-// if (false) {
-// // TODO - implement clone in a more standardised way
-// try {
-// return super.clone();
-// } catch (CloneNotSupportedException e) {
-// throw new RuntimeException(e);
-// }
-// }
- throw new RuntimeException("The class "+getClass().getName()+" needs to define a clone method");
+ public Object clone() throws CloneNotSupportedException {
+ throw new CloneNotSupportedException("The class "+getClass().getName()+" needs to define a clone method");
}
/**
diff --git a/src/java/org/apache/poi/hssf/record/aggregates/ColumnInfoRecordsAggregate.java b/src/java/org/apache/poi/hssf/record/aggregates/ColumnInfoRecordsAggregate.java
index a66c0005ed..7c02b8bb10 100644
--- a/src/java/org/apache/poi/hssf/record/aggregates/ColumnInfoRecordsAggregate.java
+++ b/src/java/org/apache/poi/hssf/record/aggregates/ColumnInfoRecordsAggregate.java
@@ -28,7 +28,7 @@ import org.apache.poi.hssf.record.ColumnInfoRecord;
/**
* @author Glen Stampoultzis
*/
-public final class ColumnInfoRecordsAggregate extends RecordAggregate {
+public final class ColumnInfoRecordsAggregate extends RecordAggregate implements Cloneable {
/**
* List of {@link ColumnInfoRecord}s assumed to be in order
*/
@@ -75,14 +75,11 @@ public final class ColumnInfoRecordsAggregate extends RecordAggregate {
}
}
- /**
- * Performs a deep clone of the record
- */
- public Object clone() {
+ @Override
+ public ColumnInfoRecordsAggregate clone() {
ColumnInfoRecordsAggregate rec = new ColumnInfoRecordsAggregate();
- for (int k = 0; k < records.size(); k++) {
- ColumnInfoRecord ci = records.get(k);
- rec.records.add((ColumnInfoRecord) ci.clone());
+ for (ColumnInfoRecord ci : records) {
+ rec.records.add(ci.clone());
}
return rec;
}
@@ -295,7 +292,7 @@ public final class ColumnInfoRecordsAggregate extends RecordAggregate {
}
private static ColumnInfoRecord copyColInfo(ColumnInfoRecord ci) {
- return (ColumnInfoRecord) ci.clone();
+ return ci.clone();
}
diff --git a/src/java/org/apache/poi/hssf/record/cf/BorderFormatting.java b/src/java/org/apache/poi/hssf/record/cf/BorderFormatting.java
index ef003d5366..41f465357f 100644
--- a/src/java/org/apache/poi/hssf/record/cf/BorderFormatting.java
+++ b/src/java/org/apache/poi/hssf/record/cf/BorderFormatting.java
@@ -26,7 +26,7 @@ import org.apache.poi.util.LittleEndianOutput;
/**
* Border Formatting Block of the Conditional Formatting Rule Record.
*/
-public final class BorderFormatting {
+public final class BorderFormatting implements Cloneable {
/** No border */
public final static short BORDER_NONE = 0x0;
/** Thin border */
@@ -446,7 +446,8 @@ public final class BorderFormatting {
return buffer.toString();
}
- public Object clone() {
+ @Override
+ public BorderFormatting clone() {
BorderFormatting rec = new BorderFormatting();
rec.field_13_border_styles1 = field_13_border_styles1;
rec.field_14_border_styles2 = field_14_border_styles2;
diff --git a/src/java/org/apache/poi/hssf/record/cf/ColorGradientThreshold.java b/src/java/org/apache/poi/hssf/record/cf/ColorGradientThreshold.java
index 32eba56e4c..e7bea75a5a 100644
--- a/src/java/org/apache/poi/hssf/record/cf/ColorGradientThreshold.java
+++ b/src/java/org/apache/poi/hssf/record/cf/ColorGradientThreshold.java
@@ -24,7 +24,7 @@ import org.apache.poi.util.LittleEndianOutput;
* Color Gradient / Color Scale specific Threshold / value (CFVO),
* for changes in Conditional Formatting
*/
-public final class ColorGradientThreshold extends Threshold {
+public final class ColorGradientThreshold extends Threshold implements Cloneable {
private double position;
public ColorGradientThreshold() {
@@ -49,7 +49,8 @@ public final class ColorGradientThreshold extends Threshold {
return super.getDataLength() + 8;
}
- public Object clone() {
+ @Override
+ public ColorGradientThreshold clone() {
ColorGradientThreshold rec = new ColorGradientThreshold();
super.copyTo(rec);
rec.position = position;
diff --git a/src/java/org/apache/poi/hssf/record/cf/DataBarThreshold.java b/src/java/org/apache/poi/hssf/record/cf/DataBarThreshold.java
index 9164aaddef..63c7f6b363 100644
--- a/src/java/org/apache/poi/hssf/record/cf/DataBarThreshold.java
+++ b/src/java/org/apache/poi/hssf/record/cf/DataBarThreshold.java
@@ -23,7 +23,7 @@ import org.apache.poi.util.LittleEndianInput;
* Data Bar specific Threshold / value (CFVO),
* for changes in Conditional Formatting
*/
-public final class DataBarThreshold extends Threshold {
+public final class DataBarThreshold extends Threshold implements Cloneable {
public DataBarThreshold() {
super();
}
@@ -33,7 +33,8 @@ public final class DataBarThreshold extends Threshold {
super(in);
}
- public Object clone() {
+ @Override
+ public DataBarThreshold clone() {
DataBarThreshold rec = new DataBarThreshold();
super.copyTo(rec);
return rec;
diff --git a/src/java/org/apache/poi/hssf/record/cf/FontFormatting.java b/src/java/org/apache/poi/hssf/record/cf/FontFormatting.java
index 79bdabeda3..08f8bf1141 100644
--- a/src/java/org/apache/poi/hssf/record/cf/FontFormatting.java
+++ b/src/java/org/apache/poi/hssf/record/cf/FontFormatting.java
@@ -28,7 +28,7 @@ import org.apache.poi.util.LittleEndian;
/**
* Font Formatting Block of the Conditional Formatting Rule Record.
*/
-public final class FontFormatting {
+public final class FontFormatting implements Cloneable {
private byte[] _rawData;
private static final int OFFSET_FONT_NAME = 0;
@@ -541,7 +541,8 @@ public final class FontFormatting {
return buffer.toString();
}
- public Object clone()
+ @Override
+ public FontFormatting clone()
{
byte[] rawData = _rawData.clone();
return new FontFormatting(rawData);
diff --git a/src/java/org/apache/poi/hssf/record/cf/IconMultiStateThreshold.java b/src/java/org/apache/poi/hssf/record/cf/IconMultiStateThreshold.java
index 72f6ea370d..03d95caf33 100644
--- a/src/java/org/apache/poi/hssf/record/cf/IconMultiStateThreshold.java
+++ b/src/java/org/apache/poi/hssf/record/cf/IconMultiStateThreshold.java
@@ -24,7 +24,7 @@ import org.apache.poi.util.LittleEndianOutput;
* Icon / Multi-State specific Threshold / value (CFVO),
* for changes in Conditional Formatting
*/
-public final class IconMultiStateThreshold extends Threshold {
+public final class IconMultiStateThreshold extends Threshold implements Cloneable {
/**
* Cell values that are equal to the threshold value do not pass the threshold
*/
@@ -60,7 +60,8 @@ public final class IconMultiStateThreshold extends Threshold {
return super.getDataLength() + 5;
}
- public Object clone() {
+ @Override
+ public IconMultiStateThreshold clone() {
IconMultiStateThreshold rec = new IconMultiStateThreshold();
super.copyTo(rec);
rec.equals = equals;
diff --git a/src/java/org/apache/poi/hssf/record/chart/AreaFormatRecord.java b/src/java/org/apache/poi/hssf/record/chart/AreaFormatRecord.java
index 661d2dc274..229743ebd4 100644
--- a/src/java/org/apache/poi/hssf/record/chart/AreaFormatRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/AreaFormatRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class AreaFormatRecord extends StandardRecord {
+public final class AreaFormatRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x100A;
private static final BitField automatic = BitFieldFactory.getInstance(0x1);
@@ -113,7 +113,8 @@ public final class AreaFormatRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public AreaFormatRecord clone() {
AreaFormatRecord rec = new AreaFormatRecord();
rec.field_1_foregroundColor = field_1_foregroundColor;
diff --git a/src/java/org/apache/poi/hssf/record/chart/AreaRecord.java b/src/java/org/apache/poi/hssf/record/chart/AreaRecord.java
index 7d763fa8ec..0bc901d0c4 100644
--- a/src/java/org/apache/poi/hssf/record/chart/AreaRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/AreaRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class AreaRecord extends StandardRecord {
+public final class AreaRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x101A;
private short field_1_formatFlags;
private static final BitField stacked = BitFieldFactory.getInstance(0x1);
@@ -78,7 +78,8 @@ public final class AreaRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public AreaRecord clone() {
AreaRecord rec = new AreaRecord();
rec.field_1_formatFlags = field_1_formatFlags;
diff --git a/src/java/org/apache/poi/hssf/record/chart/AxisLineFormatRecord.java b/src/java/org/apache/poi/hssf/record/chart/AxisLineFormatRecord.java
index 737b474e67..92b0b6af2d 100644
--- a/src/java/org/apache/poi/hssf/record/chart/AxisLineFormatRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/AxisLineFormatRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class AxisLineFormatRecord extends StandardRecord {
+public final class AxisLineFormatRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1021;
private short field_1_axisType;
public final static short AXIS_TYPE_AXIS_LINE = 0;
@@ -73,7 +73,8 @@ public final class AxisLineFormatRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public AxisLineFormatRecord clone() {
AxisLineFormatRecord rec = new AxisLineFormatRecord();
rec.field_1_axisType = field_1_axisType;
diff --git a/src/java/org/apache/poi/hssf/record/chart/AxisOptionsRecord.java b/src/java/org/apache/poi/hssf/record/chart/AxisOptionsRecord.java
index 0b4f9dd4b7..e6c4768c89 100644
--- a/src/java/org/apache/poi/hssf/record/chart/AxisOptionsRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/AxisOptionsRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Andrew C. Oliver(acoliver at apache.org)
*/
-public final class AxisOptionsRecord extends StandardRecord {
+public final class AxisOptionsRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1062;
private static final BitField defaultMinimum = BitFieldFactory.getInstance(0x01);
@@ -145,7 +145,8 @@ public final class AxisOptionsRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public AxisOptionsRecord clone() {
AxisOptionsRecord rec = new AxisOptionsRecord();
rec.field_1_minimumCategory = field_1_minimumCategory;
diff --git a/src/java/org/apache/poi/hssf/record/chart/AxisParentRecord.java b/src/java/org/apache/poi/hssf/record/chart/AxisParentRecord.java
index e0d6d5b585..8cf8fdb09b 100644
--- a/src/java/org/apache/poi/hssf/record/chart/AxisParentRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/AxisParentRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class AxisParentRecord extends StandardRecord {
+public final class AxisParentRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1041;
private short field_1_axisType;
public final static short AXIS_TYPE_MAIN = 0;
@@ -99,7 +99,8 @@ public final class AxisParentRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public AxisParentRecord clone() {
AxisParentRecord rec = new AxisParentRecord();
rec.field_1_axisType = field_1_axisType;
diff --git a/src/java/org/apache/poi/hssf/record/chart/AxisRecord.java b/src/java/org/apache/poi/hssf/record/chart/AxisRecord.java
index 4eb92dc51d..42aefb4a83 100644
--- a/src/java/org/apache/poi/hssf/record/chart/AxisRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/AxisRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class AxisRecord extends StandardRecord {
+public final class AxisRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x101d;
private short field_1_axisType;
public final static short AXIS_TYPE_CATEGORY_OR_X_AXIS = 0;
@@ -100,7 +100,8 @@ public final class AxisRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public AxisRecord clone() {
AxisRecord rec = new AxisRecord();
rec.field_1_axisType = field_1_axisType;
diff --git a/src/java/org/apache/poi/hssf/record/chart/AxisUsedRecord.java b/src/java/org/apache/poi/hssf/record/chart/AxisUsedRecord.java
index b05cf1b9bb..baca15b575 100644
--- a/src/java/org/apache/poi/hssf/record/chart/AxisUsedRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/AxisUsedRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class AxisUsedRecord extends StandardRecord {
+public final class AxisUsedRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1046;
private short field_1_numAxis;
@@ -69,7 +69,8 @@ public final class AxisUsedRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public AxisUsedRecord clone() {
AxisUsedRecord rec = new AxisUsedRecord();
rec.field_1_numAxis = field_1_numAxis;
diff --git a/src/java/org/apache/poi/hssf/record/chart/BarRecord.java b/src/java/org/apache/poi/hssf/record/chart/BarRecord.java
index 297a27f127..72d418cb74 100644
--- a/src/java/org/apache/poi/hssf/record/chart/BarRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/BarRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class BarRecord extends StandardRecord {
+public final class BarRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1017;
private static final BitField horizontal = BitFieldFactory.getInstance(0x1);
@@ -95,7 +95,8 @@ public final class BarRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public BarRecord clone() {
BarRecord rec = new BarRecord();
rec.field_1_barSpace = field_1_barSpace;
diff --git a/src/java/org/apache/poi/hssf/record/chart/BeginRecord.java b/src/java/org/apache/poi/hssf/record/chart/BeginRecord.java
index 2a7baf1497..88a7efcf28 100644
--- a/src/java/org/apache/poi/hssf/record/chart/BeginRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/BeginRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class BeginRecord extends StandardRecord {
+public final class BeginRecord extends StandardRecord implements Cloneable {
public static final short sid = 0x1033;
public BeginRecord()
@@ -64,7 +64,8 @@ public final class BeginRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public BeginRecord clone() {
BeginRecord br = new BeginRecord();
// No data so nothing to copy
return br;
diff --git a/src/java/org/apache/poi/hssf/record/chart/CategorySeriesAxisRecord.java b/src/java/org/apache/poi/hssf/record/chart/CategorySeriesAxisRecord.java
index 0278d5f3dc..6e8216a139 100644
--- a/src/java/org/apache/poi/hssf/record/chart/CategorySeriesAxisRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/CategorySeriesAxisRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class CategorySeriesAxisRecord extends StandardRecord {
+public final class CategorySeriesAxisRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1020;
private static final BitField valueAxisCrossing = BitFieldFactory.getInstance(0x1);
@@ -100,7 +100,8 @@ public final class CategorySeriesAxisRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public CategorySeriesAxisRecord clone() {
CategorySeriesAxisRecord rec = new CategorySeriesAxisRecord();
rec.field_1_crossingPoint = field_1_crossingPoint;
diff --git a/src/java/org/apache/poi/hssf/record/chart/ChartEndBlockRecord.java b/src/java/org/apache/poi/hssf/record/chart/ChartEndBlockRecord.java
index dcb722b826..4354b01c5f 100644
--- a/src/java/org/apache/poi/hssf/record/chart/ChartEndBlockRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/ChartEndBlockRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Patrick Cheng
*/
-public final class ChartEndBlockRecord extends StandardRecord {
+public final class ChartEndBlockRecord extends StandardRecord implements Cloneable {
public static final short sid = 0x0853;
private short rt;
diff --git a/src/java/org/apache/poi/hssf/record/chart/ChartRecord.java b/src/java/org/apache/poi/hssf/record/chart/ChartRecord.java
index 4299e887d3..3909a0c415 100644
--- a/src/java/org/apache/poi/hssf/record/chart/ChartRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/ChartRecord.java
@@ -40,7 +40,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class ChartRecord extends StandardRecord {
+public final class ChartRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1002;
private int field_1_x;
private int field_2_y;
@@ -87,7 +87,8 @@ public final class ChartRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public ChartRecord clone() {
ChartRecord rec = new ChartRecord();
rec.field_1_x = field_1_x;
diff --git a/src/java/org/apache/poi/hssf/record/chart/ChartStartBlockRecord.java b/src/java/org/apache/poi/hssf/record/chart/ChartStartBlockRecord.java
index 1bb41ddc7b..b35a9ee254 100644
--- a/src/java/org/apache/poi/hssf/record/chart/ChartStartBlockRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/ChartStartBlockRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Patrick Cheng
*/
-public final class ChartStartBlockRecord extends StandardRecord {
+public final class ChartStartBlockRecord extends StandardRecord implements Cloneable {
public static final short sid = 0x0852;
private short rt;
diff --git a/src/java/org/apache/poi/hssf/record/chart/DatRecord.java b/src/java/org/apache/poi/hssf/record/chart/DatRecord.java
index 485fea15d5..68a0ed60c9 100644
--- a/src/java/org/apache/poi/hssf/record/chart/DatRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/DatRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class DatRecord extends StandardRecord {
+public final class DatRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1063;
private static final BitField horizontalBorder = BitFieldFactory.getInstance(0x1);
@@ -81,9 +81,9 @@ public final class DatRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public DatRecord clone() {
DatRecord rec = new DatRecord();
-
rec.field_1_options = field_1_options;
return rec;
}
diff --git a/src/java/org/apache/poi/hssf/record/chart/DataFormatRecord.java b/src/java/org/apache/poi/hssf/record/chart/DataFormatRecord.java
index bb9d6ad001..b2328943b2 100644
--- a/src/java/org/apache/poi/hssf/record/chart/DataFormatRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/DataFormatRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class DataFormatRecord extends StandardRecord {
+public final class DataFormatRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1006;
private static final BitField useExcel4Colors = BitFieldFactory.getInstance(0x1);
@@ -96,7 +96,8 @@ public final class DataFormatRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public DataFormatRecord clone() {
DataFormatRecord rec = new DataFormatRecord();
rec.field_1_pointNumber = field_1_pointNumber;
diff --git a/src/java/org/apache/poi/hssf/record/chart/DefaultDataLabelTextPropertiesRecord.java b/src/java/org/apache/poi/hssf/record/chart/DefaultDataLabelTextPropertiesRecord.java
index 4967bd35b0..06100b77e2 100644
--- a/src/java/org/apache/poi/hssf/record/chart/DefaultDataLabelTextPropertiesRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/DefaultDataLabelTextPropertiesRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class DefaultDataLabelTextPropertiesRecord extends StandardRecord {
+public final class DefaultDataLabelTextPropertiesRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1024;
private short field_1_categoryDataType;
public final static short CATEGORY_DATA_TYPE_SHOW_LABELS_CHARACTERISTIC = 0;
@@ -72,7 +72,8 @@ public final class DefaultDataLabelTextPropertiesRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public DefaultDataLabelTextPropertiesRecord clone() {
DefaultDataLabelTextPropertiesRecord rec = new DefaultDataLabelTextPropertiesRecord();
rec.field_1_categoryDataType = field_1_categoryDataType;
diff --git a/src/java/org/apache/poi/hssf/record/chart/EndRecord.java b/src/java/org/apache/poi/hssf/record/chart/EndRecord.java
index 4879761192..23d09d1638 100644
--- a/src/java/org/apache/poi/hssf/record/chart/EndRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/EndRecord.java
@@ -30,7 +30,7 @@ import org.apache.poi.util.LittleEndianOutput;
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class EndRecord extends StandardRecord {
+public final class EndRecord extends StandardRecord implements Cloneable {
public static final short sid = 0x1034;
public EndRecord()
@@ -65,7 +65,8 @@ public final class EndRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public EndRecord clone() {
EndRecord er = new EndRecord();
// No data so nothing to copy
return er;
diff --git a/src/java/org/apache/poi/hssf/record/chart/FontBasisRecord.java b/src/java/org/apache/poi/hssf/record/chart/FontBasisRecord.java
index 826a505376..dde683eb5f 100644
--- a/src/java/org/apache/poi/hssf/record/chart/FontBasisRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/FontBasisRecord.java
@@ -27,8 +27,8 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class FontBasisRecord extends StandardRecord {
- public final static short sid = 0x1060;
+public final class FontBasisRecord extends StandardRecord implements Cloneable {
+ public final static short sid = 0x1060;
private short field_1_xBasis;
private short field_2_yBasis;
private short field_3_heightBasis;
@@ -97,7 +97,8 @@ public final class FontBasisRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public FontBasisRecord clone() {
FontBasisRecord rec = new FontBasisRecord();
rec.field_1_xBasis = field_1_xBasis;
diff --git a/src/java/org/apache/poi/hssf/record/chart/FontIndexRecord.java b/src/java/org/apache/poi/hssf/record/chart/FontIndexRecord.java
index b0047b1f37..4faacab13b 100644
--- a/src/java/org/apache/poi/hssf/record/chart/FontIndexRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/FontIndexRecord.java
@@ -27,8 +27,8 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class FontIndexRecord extends StandardRecord {
- public final static short sid = 0x1026;
+public final class FontIndexRecord extends StandardRecord implements Cloneable {
+ public final static short sid = 0x1026;
private short field_1_fontIndex;
@@ -69,7 +69,8 @@ public final class FontIndexRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public FontIndexRecord clone() {
FontIndexRecord rec = new FontIndexRecord();
rec.field_1_fontIndex = field_1_fontIndex;
diff --git a/src/java/org/apache/poi/hssf/record/chart/FrameRecord.java b/src/java/org/apache/poi/hssf/record/chart/FrameRecord.java
index 525741422e..473265d75a 100644
--- a/src/java/org/apache/poi/hssf/record/chart/FrameRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/FrameRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class FrameRecord extends StandardRecord {
+public final class FrameRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1032;
private static final BitField autoSize = BitFieldFactory.getInstance(0x1);
@@ -86,7 +86,8 @@ public final class FrameRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public FrameRecord clone() {
FrameRecord rec = new FrameRecord();
rec.field_1_borderType = field_1_borderType;
diff --git a/src/java/org/apache/poi/hssf/record/chart/LegendRecord.java b/src/java/org/apache/poi/hssf/record/chart/LegendRecord.java
index 1fd99be974..9a94e0a73b 100644
--- a/src/java/org/apache/poi/hssf/record/chart/LegendRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/LegendRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Andrew C. Oliver (acoliver at apache.org)
*/
-public final class LegendRecord extends StandardRecord {
+public final class LegendRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1015;
private static final BitField autoPosition = BitFieldFactory.getInstance(0x01);
@@ -136,7 +136,8 @@ public final class LegendRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public LegendRecord clone() {
LegendRecord rec = new LegendRecord();
rec.field_1_xAxisUpperLeft = field_1_xAxisUpperLeft;
diff --git a/src/java/org/apache/poi/hssf/record/chart/LineFormatRecord.java b/src/java/org/apache/poi/hssf/record/chart/LineFormatRecord.java
index ed47dabed9..0daabce1ee 100644
--- a/src/java/org/apache/poi/hssf/record/chart/LineFormatRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/LineFormatRecord.java
@@ -29,7 +29,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class LineFormatRecord extends StandardRecord {
+public final class LineFormatRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1007;
private static final BitField auto = BitFieldFactory.getInstance(0x1);
@@ -121,7 +121,8 @@ public final class LineFormatRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public LineFormatRecord clone() {
LineFormatRecord rec = new LineFormatRecord();
rec.field_1_lineColor = field_1_lineColor;
diff --git a/src/java/org/apache/poi/hssf/record/chart/LinkedDataRecord.java b/src/java/org/apache/poi/hssf/record/chart/LinkedDataRecord.java
index 7e92478de1..58c758e4c4 100644
--- a/src/java/org/apache/poi/hssf/record/chart/LinkedDataRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/LinkedDataRecord.java
@@ -31,7 +31,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class LinkedDataRecord extends StandardRecord {
+public final class LinkedDataRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1051;
private static final BitField customNumberFormat= BitFieldFactory.getInstance(0x1);
@@ -102,7 +102,8 @@ public final class LinkedDataRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public LinkedDataRecord clone() {
LinkedDataRecord rec = new LinkedDataRecord();
rec.field_1_linkType = field_1_linkType;
diff --git a/src/java/org/apache/poi/hssf/record/chart/NumberFormatIndexRecord.java b/src/java/org/apache/poi/hssf/record/chart/NumberFormatIndexRecord.java
index fc9f0d7776..7fc944c0ca 100644
--- a/src/java/org/apache/poi/hssf/record/chart/NumberFormatIndexRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/NumberFormatIndexRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Glen Stampoultzis (glens at apache.org)
*/
-public final class NumberFormatIndexRecord extends StandardRecord {
+public final class NumberFormatIndexRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x104E;
private short field_1_formatIndex;
@@ -69,7 +69,8 @@ public final class NumberFormatIndexRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public NumberFormatIndexRecord clone() {
NumberFormatIndexRecord rec = new NumberFormatIndexRecord();
rec.field_1_formatIndex = field_1_formatIndex;
diff --git a/src/java/org/apache/poi/hssf/record/chart/ObjectLinkRecord.java b/src/java/org/apache/poi/hssf/record/chart/ObjectLinkRecord.java
index a949218867..27ba9a068f 100644
--- a/src/java/org/apache/poi/hssf/record/chart/ObjectLinkRecord.java
+++ b/src/java/org/apache/poi/hssf/record/chart/ObjectLinkRecord.java
@@ -27,7 +27,7 @@ import org.apache.poi.util.LittleEndianOutput;
*
* @author Andrew C. Oliver (acoliver at apache.org)
*/
-public final class ObjectLinkRecord extends StandardRecord {
+public final class ObjectLinkRecord extends StandardRecord implements Cloneable {
public final static short sid = 0x1027;
private short field_1_anchorId;
public final static short ANCHOR_ID_CHART_TITLE = 1;
@@ -89,7 +89,8 @@ public final class ObjectLinkRecord extends StandardRecord {
return sid;
}
- public Object clone() {
+ @Override
+ public ObjectLinkRecord clone() {
ObjectLinkRecord rec = new ObjectLinkRecord();
rec.field_1_anchorId = field_1_anchorId;
diff --git a/src/java/org/apache/poi/hssf/record/common/ExtendedColor.java b/src/java/org/apache/poi/hssf/record/common/ExtendedColor.java
index b0719e19a8..97136da9e5 100644
--- a/src/java/org/apache/poi/hssf/record/common/ExtendedColor.java
+++ b/src/java/org/apache/poi/hssf/record/common/ExtendedColor.java
@@ -30,7 +30,7 @@ import org.apache.poi.util.LittleEndianOutput;
* Formatting, Sheet Extensions), this XSSF-style color record
* can be used.
*/
-public final class ExtendedColor {
+public final class ExtendedColor implements Cloneable {
public static final int TYPE_AUTO = 0;
public static final int TYPE_INDEXED = 1;
public static final int TYPE_RGB = 2;
@@ -147,7 +147,8 @@ public final class ExtendedColor {
return buffer.toString();
}
- public Object clone() {
+ @Override
+ public ExtendedColor clone() {
ExtendedColor exc = new ExtendedColor();
exc.type = type;
exc.tint = tint;
diff --git a/src/java/org/apache/poi/hssf/record/common/FtrHeader.java b/src/java/org/apache/poi/hssf/record/common/FtrHeader.java
index dba24f084a..eecc541caf 100644
--- a/src/java/org/apache/poi/hssf/record/common/FtrHeader.java
+++ b/src/java/org/apache/poi/hssf/record/common/FtrHeader.java
@@ -28,7 +28,7 @@ import org.apache.poi.util.LittleEndianOutput;
* style record, which includes extra attributes above and
* beyond those of a traditional record.
*/
-public final class FtrHeader {
+public final class FtrHeader implements Cloneable {
/** This MUST match the type on the containing record */
private short recordType;
/** This is a FrtFlags */
diff --git a/src/java/org/apache/poi/poifs/filesystem/BATManaged.java b/src/java/org/apache/poi/poifs/filesystem/BATManaged.java
index d3fb9e18ee..fcd3bde649 100644
--- a/src/java/org/apache/poi/poifs/filesystem/BATManaged.java
+++ b/src/java/org/apache/poi/poifs/filesystem/BATManaged.java
@@ -35,7 +35,7 @@ public interface BATManaged
* @return count of BigBlock instances
*/
- public int countBlocks();
+ int countBlocks();
/**
* Set the start block for this instance
@@ -44,6 +44,6 @@ public interface BATManaged
* up the the filesystem
*/
- public void setStartBlock(final int index);
+ void setStartBlock(final int index);
} // end public interface BATManaged
diff --git a/src/java/org/apache/poi/poifs/storage/BlockList.java b/src/java/org/apache/poi/poifs/storage/BlockList.java
index d7e23cfb9c..dfbd69c2a3 100644
--- a/src/java/org/apache/poi/poifs/storage/BlockList.java
+++ b/src/java/org/apache/poi/poifs/storage/BlockList.java
@@ -38,7 +38,7 @@ public interface BlockList
* out of range, that's ok
*/
- public void zap(final int index);
+ void zap(final int index);
/**
* remove and return the specified block from the list
@@ -51,8 +51,7 @@ public interface BlockList
* already been removed
*/
- public ListManagedBlock remove(final int index)
- throws IOException;
+ ListManagedBlock remove(final int index) throws IOException;
/**
* get the blocks making up a particular stream in the list. The
@@ -66,7 +65,7 @@ public interface BlockList
* @exception IOException if blocks are missing
*/
- public ListManagedBlock [] fetchBlocks(final int startBlock, final int headerPropertiesStartBlock)
+ ListManagedBlock [] fetchBlocks(final int startBlock, final int headerPropertiesStartBlock)
throws IOException;
/**
@@ -77,9 +76,8 @@ public interface BlockList
* @exception IOException
*/
- public void setBAT(final BlockAllocationTableReader bat)
- throws IOException;
+ void setBAT(final BlockAllocationTableReader bat) throws IOException;
- public int blockCount();
+ int blockCount();
} // end public interface BlockList
diff --git a/src/java/org/apache/poi/poifs/storage/BlockWritable.java b/src/java/org/apache/poi/poifs/storage/BlockWritable.java
index b6fe0ca3c8..3bf833ec10 100644
--- a/src/java/org/apache/poi/poifs/storage/BlockWritable.java
+++ b/src/java/org/apache/poi/poifs/storage/BlockWritable.java
@@ -41,7 +41,6 @@ public interface BlockWritable
* stream
*/
- public void writeBlocks(final OutputStream stream)
- throws IOException;
+ void writeBlocks(final OutputStream stream) throws IOException;
} // end public interface BlockWritable
diff --git a/src/java/org/apache/poi/sl/usermodel/Insets2D.java b/src/java/org/apache/poi/sl/usermodel/Insets2D.java
index 89f44502be..fedfbff7ee 100644
--- a/src/java/org/apache/poi/sl/usermodel/Insets2D.java
+++ b/src/java/org/apache/poi/sl/usermodel/Insets2D.java
@@ -21,7 +21,7 @@ package org.apache.poi.sl.usermodel;
* This is a replacement for {@link java.awt.Insets} which works on doubles
* instead of ints
*/
-public class Insets2D {
+public class Insets2D implements Cloneable {
/**
* The inset from the top.
@@ -131,13 +131,9 @@ public class Insets2D {
* Create a copy of this object.
* @return a copy of this <code>Insets2D</code> object.
*/
- public Object clone() {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- // this shouldn't happen, since we are Cloneable
- throw new InternalError();
- }
+ @Override
+ public Insets2D clone() {
+ return new Insets2D(top, left, bottom, right);
}
diff --git a/src/java/org/apache/poi/ss/formula/ptg/AreaI.java b/src/java/org/apache/poi/ss/formula/ptg/AreaI.java
index 96ffe70053..3610126628 100644
--- a/src/java/org/apache/poi/ss/formula/ptg/AreaI.java
+++ b/src/java/org/apache/poi/ss/formula/ptg/AreaI.java
@@ -24,22 +24,22 @@ public interface AreaI {
/**
* @return the first row in the area
*/
- public int getFirstRow();
+ int getFirstRow();
/**
* @return last row in the range (x2 in x1,y1-x2,y2)
*/
- public int getLastRow();
+ int getLastRow();
/**
* @return the first column number in the area.
*/
- public int getFirstColumn();
+ int getFirstColumn();
/**
* @return lastcolumn in the area
*/
- public int getLastColumn();
+ int getLastColumn();
class OffsetArea implements AreaI {
diff --git a/src/java/org/apache/poi/ss/usermodel/BorderFormatting.java b/src/java/org/apache/poi/ss/usermodel/BorderFormatting.java
index 165cf05421..91a6f41797 100644
--- a/src/java/org/apache/poi/ss/usermodel/BorderFormatting.java
+++ b/src/java/org/apache/poi/ss/usermodel/BorderFormatting.java
@@ -25,33 +25,33 @@ package org.apache.poi.ss.usermodel;
*/
public interface BorderFormatting {
/** No border */
- final static short BORDER_NONE = 0x0;
+ short BORDER_NONE = 0x0;
/** Thin border */
- final static short BORDER_THIN = 0x1;
+ short BORDER_THIN = 0x1;
/** Medium border */
- final static short BORDER_MEDIUM = 0x2;
+ short BORDER_MEDIUM = 0x2;
/** dash border */
- final static short BORDER_DASHED = 0x3;
+ short BORDER_DASHED = 0x3;
/** dot border */
- final static short BORDER_HAIR = 0x4;
+ short BORDER_HAIR = 0x4;
/** Thick border */
- final static short BORDER_THICK = 0x5;
+ short BORDER_THICK = 0x5;
/** double-line border */
- final static short BORDER_DOUBLE = 0x6;
+ short BORDER_DOUBLE = 0x6;
/** hair-line border */
- final static short BORDER_DOTTED = 0x7;
+ short BORDER_DOTTED = 0x7;
/** Medium dashed border */
- final static short BORDER_MEDIUM_DASHED = 0x8;
+ short BORDER_MEDIUM_DASHED = 0x8;
/** dash-dot border */
- final static short BORDER_DASH_DOT = 0x9;
+ short BORDER_DASH_DOT = 0x9;
/** medium dash-dot border */
- final static short BORDER_MEDIUM_DASH_DOT = 0xA;
+ short BORDER_MEDIUM_DASH_DOT = 0xA;
/** dash-dot-dot border */
- final static short BORDER_DASH_DOT_DOT = 0xB;
+ short BORDER_DASH_DOT_DOT = 0xB;
/** medium dash-dot-dot border */
- final static short BORDER_MEDIUM_DASH_DOT_DOT = 0xC;
+ short BORDER_MEDIUM_DASH_DOT_DOT = 0xC;
/** slanted dash-dot border */
- final static short BORDER_SLANTED_DASH_DOT = 0xD;
+ short BORDER_SLANTED_DASH_DOT = 0xD;
short getBorderBottom();
diff --git a/src/java/org/apache/poi/ss/usermodel/Cell.java b/src/java/org/apache/poi/ss/usermodel/Cell.java
index daf289f485..e3dcae0bb1 100644
--- a/src/java/org/apache/poi/ss/usermodel/Cell.java
+++ b/src/java/org/apache/poi/ss/usermodel/Cell.java
@@ -43,42 +43,42 @@ public interface Cell {
* @see #setCellType(int)
* @see #getCellType()
*/
- public final static int CELL_TYPE_NUMERIC = 0;
+ int CELL_TYPE_NUMERIC = 0;
/**
* String Cell type (1)
* @see #setCellType(int)
* @see #getCellType()
*/
- public final static int CELL_TYPE_STRING = 1;
+ int CELL_TYPE_STRING = 1;
/**
* Formula Cell type (2)
* @see #setCellType(int)
* @see #getCellType()
*/
- public final static int CELL_TYPE_FORMULA = 2;
+ int CELL_TYPE_FORMULA = 2;
/**
* Blank Cell type (3)
* @see #setCellType(int)
* @see #getCellType()
*/
- public final static int CELL_TYPE_BLANK = 3;
+ int CELL_TYPE_BLANK = 3;
/**
* Boolean Cell type (4)
* @see #setCellType(int)
* @see #getCellType()
*/
- public final static int CELL_TYPE_BOOLEAN = 4;
+ int CELL_TYPE_BOOLEAN = 4;
/**
* Error Cell type (5)
* @see #setCellType(int)
* @see #getCellType()
*/
- public final static int CELL_TYPE_ERROR = 5;
+ int CELL_TYPE_ERROR = 5;
/**
* Returns column index of this cell
diff --git a/src/java/org/apache/poi/ss/usermodel/CellStyle.java b/src/java/org/apache/poi/ss/usermodel/CellStyle.java
index 0cae653627..be5a43e93a 100644
--- a/src/java/org/apache/poi/ss/usermodel/CellStyle.java
+++ b/src/java/org/apache/poi/ss/usermodel/CellStyle.java
@@ -23,208 +23,208 @@ public interface CellStyle {
* general (normal) horizontal alignment
*/
- public final static short ALIGN_GENERAL = 0x0;
+ short ALIGN_GENERAL = 0x0;
/**
* left-justified horizontal alignment
*/
- public final static short ALIGN_LEFT = 0x1;
+ short ALIGN_LEFT = 0x1;
/**
* center horizontal alignment
*/
- public final static short ALIGN_CENTER = 0x2;
+ short ALIGN_CENTER = 0x2;
/**
* right-justified horizontal alignment
*/
- public final static short ALIGN_RIGHT = 0x3;
+ short ALIGN_RIGHT = 0x3;
/**
* fill? horizontal alignment
*/
- public final static short ALIGN_FILL = 0x4;
+ short ALIGN_FILL = 0x4;
/**
* justified horizontal alignment
*/
- public final static short ALIGN_JUSTIFY = 0x5;
+ short ALIGN_JUSTIFY = 0x5;
/**
* center-selection? horizontal alignment
*/
- public final static short ALIGN_CENTER_SELECTION = 0x6;
+ short ALIGN_CENTER_SELECTION = 0x6;
/**
* top-aligned vertical alignment
*/
- public final static short VERTICAL_TOP = 0x0;
+ short VERTICAL_TOP = 0x0;
/**
* center-aligned vertical alignment
*/
- public final static short VERTICAL_CENTER = 0x1;
+ short VERTICAL_CENTER = 0x1;
/**
* bottom-aligned vertical alignment
*/
- public final static short VERTICAL_BOTTOM = 0x2;
+ short VERTICAL_BOTTOM = 0x2;
/**
* vertically justified vertical alignment
*/
- public final static short VERTICAL_JUSTIFY = 0x3;
+ short VERTICAL_JUSTIFY = 0x3;
/**
* No border
*/
- public final static short BORDER_NONE = 0x0;
+ short BORDER_NONE = 0x0;
/**
* Thin border
*/
- public final static short BORDER_THIN = 0x1;
+ short BORDER_THIN = 0x1;
/**
* Medium border
*/
- public final static short BORDER_MEDIUM = 0x2;
+ short BORDER_MEDIUM = 0x2;
/**
* dash border
*/
- public final static short BORDER_DASHED = 0x3;
+ short BORDER_DASHED = 0x3;
/**
* dot border
*/
- public final static short BORDER_HAIR = 0x7;
+ short BORDER_HAIR = 0x7;
/**
* Thick border
*/
- public final static short BORDER_THICK = 0x5;
+ short BORDER_THICK = 0x5;
/**
* double-line border
*/
- public final static short BORDER_DOUBLE = 0x6;
+ short BORDER_DOUBLE = 0x6;
/**
* hair-line border
*/
- public final static short BORDER_DOTTED = 0x4;
+ short BORDER_DOTTED = 0x4;
/**
* Medium dashed border
*/
- public final static short BORDER_MEDIUM_DASHED = 0x8;
+ short BORDER_MEDIUM_DASHED = 0x8;
/**
* dash-dot border
*/
- public final static short BORDER_DASH_DOT = 0x9;
+ short BORDER_DASH_DOT = 0x9;
/**
* medium dash-dot border
*/
- public final static short BORDER_MEDIUM_DASH_DOT = 0xA;
+ short BORDER_MEDIUM_DASH_DOT = 0xA;
/**
* dash-dot-dot border
*/
- public final static short BORDER_DASH_DOT_DOT = 0xB;
+ short BORDER_DASH_DOT_DOT = 0xB;
/**
* medium dash-dot-dot border
*/
- public final static short BORDER_MEDIUM_DASH_DOT_DOT = 0xC;
+ short BORDER_MEDIUM_DASH_DOT_DOT = 0xC;
/**
* slanted dash-dot border
*/
- public final static short BORDER_SLANTED_DASH_DOT = 0xD;
+ short BORDER_SLANTED_DASH_DOT = 0xD;
/** No background */
- public final static short NO_FILL = 0;
+ short NO_FILL = 0;
/** Solidly filled */
- public final static short SOLID_FOREGROUND = 1;
+ short SOLID_FOREGROUND = 1;
/** Small fine dots */
- public final static short FINE_DOTS = 2;
+ short FINE_DOTS = 2;
/** Wide dots */
- public final static short ALT_BARS = 3;
+ short ALT_BARS = 3;
/** Sparse dots */
- public final static short SPARSE_DOTS = 4;
+ short SPARSE_DOTS = 4;
/** Thick horizontal bands */
- public final static short THICK_HORZ_BANDS = 5;
+ short THICK_HORZ_BANDS = 5;
/** Thick vertical bands */
- public final static short THICK_VERT_BANDS = 6;
+ short THICK_VERT_BANDS = 6;
/** Thick backward facing diagonals */
- public final static short THICK_BACKWARD_DIAG = 7;
+ short THICK_BACKWARD_DIAG = 7;
/** Thick forward facing diagonals */
- public final static short THICK_FORWARD_DIAG = 8;
+ short THICK_FORWARD_DIAG = 8;
/** Large spots */
- public final static short BIG_SPOTS = 9;
+ short BIG_SPOTS = 9;
/** Brick-like layout */
- public final static short BRICKS = 10;
+ short BRICKS = 10;
/** Thin horizontal bands */
- public final static short THIN_HORZ_BANDS = 11;
+ short THIN_HORZ_BANDS = 11;
/** Thin vertical bands */
- public final static short THIN_VERT_BANDS = 12;
+ short THIN_VERT_BANDS = 12;
/** Thin backward diagonal */
- public final static short THIN_BACKWARD_DIAG = 13;
+ short THIN_BACKWARD_DIAG = 13;
/** Thin forward diagonal */
- public final static short THIN_FORWARD_DIAG = 14;
+ short THIN_FORWARD_DIAG = 14;
/** Squares */
- public final static short SQUARES = 15;
+ short SQUARES = 15;
/** Diamonds */
- public final static short DIAMONDS = 16;
+ short DIAMONDS = 16;
/** Less Dots */
- public final static short LESS_DOTS = 17;
+ short LESS_DOTS = 17;
/** Least Dots */
- public final static short LEAST_DOTS = 18;
+ short LEAST_DOTS = 18;
/**
* get the index within the Workbook (sequence within the collection of ExtnededFormat objects)
diff --git a/src/java/org/apache/poi/wp/usermodel/CharacterRun.java b/src/java/org/apache/poi/wp/usermodel/CharacterRun.java
index 34165463aa..da2a3630b8 100644
--- a/src/java/org/apache/poi/wp/usermodel/CharacterRun.java
+++ b/src/java/org/apache/poi/wp/usermodel/CharacterRun.java
@@ -21,79 +21,79 @@ package org.apache.poi.wp.usermodel;
* This class represents a run of text that share common properties.
*/
public interface CharacterRun {
- public boolean isBold();
- public void setBold(boolean bold);
+ boolean isBold();
+ void setBold(boolean bold);
- public boolean isItalic();
- public void setItalic(boolean italic);
+ boolean isItalic();
+ void setItalic(boolean italic);
- public boolean isSmallCaps();
- public void setSmallCaps(boolean smallCaps);
+ boolean isSmallCaps();
+ void setSmallCaps(boolean smallCaps);
- public boolean isCapitalized();
- public void setCapitalized(boolean caps);
+ boolean isCapitalized();
+ void setCapitalized(boolean caps);
- public boolean isStrikeThrough();
- public void setStrikeThrough(boolean strike);
- public boolean isDoubleStrikeThrough();
- public void setDoubleStrikethrough(boolean dstrike);
+ boolean isStrikeThrough();
+ void setStrikeThrough(boolean strike);
+ boolean isDoubleStrikeThrough();
+ void setDoubleStrikethrough(boolean dstrike);
- public boolean isShadowed();
- public void setShadow(boolean shadow);
+ boolean isShadowed();
+ void setShadow(boolean shadow);
- public boolean isEmbossed();
- public void setEmbossed(boolean emboss);
+ boolean isEmbossed();
+ void setEmbossed(boolean emboss);
- public boolean isImprinted();
- public void setImprinted(boolean imprint);
+ boolean isImprinted();
+ void setImprinted(boolean imprint);
- public int getFontSize();
- public void setFontSize(int halfPoints);
+ int getFontSize();
+ void setFontSize(int halfPoints);
- public int getCharacterSpacing();
- public void setCharacterSpacing(int twips);
+ int getCharacterSpacing();
+ void setCharacterSpacing(int twips);
- public int getKerning();
- public void setKerning(int kern);
+ int getKerning();
+ void setKerning(int kern);
- public String getFontName();
+ String getFontName();
/**
* @return The text of the run, including any tabs/spaces/etc
*/
- public String text();
+ String text();
// HWPF uses indexes, XWPF special
-// public int getUnderlineCode();
-// public void setUnderlineCode(int kul);
+// int getUnderlineCode();
+// void setUnderlineCode(int kul);
// HWPF uses indexes, XWPF special vertical alignments
-// public short getSubSuperScriptIndex();
-// public void setSubSuperScriptIndex(short iss);
+// short getSubSuperScriptIndex();
+// void setSubSuperScriptIndex(short iss);
// HWPF uses indexes, XWPF special vertical alignments
-// public int getVerticalOffset();
-// public void setVerticalOffset(int hpsPos);
+// int getVerticalOffset();
+// void setVerticalOffset(int hpsPos);
// HWPF has colour indexes, XWPF colour names
-// public int getColor();
-// public void setColor(int color);
+// int getColor();
+// void setColor(int color);
// TODO Review these, and add to XWPFRun if possible
/*
- public boolean isFldVanished();
- public void setFldVanish(boolean fldVanish);
+ boolean isFldVanished();
+ void setFldVanish(boolean fldVanish);
- public boolean isOutlined();
- public void setOutline(boolean outlined);
+ boolean isOutlined();
+ void setOutline(boolean outlined);
- public boolean isVanished();
- public void setVanished(boolean vanish);
+ boolean isVanished();
+ void setVanished(boolean vanish);
- public boolean isMarkedDeleted();
- public void markDeleted(boolean mark);
+ boolean isMarkedDeleted();
+ void markDeleted(boolean mark);
- public boolean isMarkedInserted();
- public void markInserted(boolean mark);
+ boolean isMarkedInserted();
+ void markInserted(boolean mark);
*/
}
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/CharIndexTranslator.java b/src/scratchpad/src/org/apache/poi/hwpf/model/CharIndexTranslator.java
index b6e48e21d5..29cd5d6231 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/CharIndexTranslator.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/CharIndexTranslator.java
@@ -81,7 +81,7 @@ public interface CharIndexTranslator {
* @param bytePos
* @return first index greater or equal to bytePos that is in table
*/
- public int lookIndexForward(int bytePos);
+ int lookIndexForward(int bytePos);
/**
* Return last index <= bytePos that is in table
@@ -89,6 +89,6 @@ public interface CharIndexTranslator {
* @param bytePos
* @return last index less of equal to bytePos that is in table
*/
- public int lookIndexBackward(int bytePos);
+ int lookIndexBackward(int bytePos);
}