Modified: poi/trunk/src/java/org/apache/poi/hssf/record/TextObjectRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/TextObjectRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/TextObjectRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/TextObjectRecord.java Sun Apr 12 22:03:52 2020 @@ -17,6 +17,11 @@ package org.apache.poi.hssf.record; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.function.Supplier; + import org.apache.poi.hssf.record.cont.ContinuableRecord; import org.apache.poi.hssf.record.cont.ContinuableRecordOutput; import org.apache.poi.hssf.usermodel.HSSFRichTextString; @@ -24,7 +29,6 @@ import org.apache.poi.ss.formula.ptg.Ope import org.apache.poi.ss.formula.ptg.Ptg; import org.apache.poi.util.BitField; import org.apache.poi.util.BitFieldFactory; -import org.apache.poi.util.HexDump; import org.apache.poi.util.RecordFormatException; import org.apache.poi.util.Removal; @@ -125,11 +129,7 @@ public final class TextObjectRecord exte + " tokens but expected exactly 1"); } _linkRefPtg = (OperandPtg) ptgs[0]; - if (in.remaining() > 0) { - _unknownPostFormulaByte = Byte.valueOf(in.readByte()); - } else { - _unknownPostFormulaByte = null; - } + _unknownPostFormulaByte = in.remaining() > 0 ? in.readByte() : null; } else { _linkRefPtg = null; } @@ -195,7 +195,7 @@ public final class TextObjectRecord exte out.writeInt(_unknownPreFormulaInt); _linkRefPtg.write(out); if (_unknownPostFormulaByte != null) { - out.writeByte(_unknownPostFormulaByte.byteValue()); + out.writeByte(_unknownPostFormulaByte); } } } @@ -317,33 +317,8 @@ public final class TextObjectRecord exte return _linkRefPtg; } - public String toString() { - StringBuilder sb = new StringBuilder(); - - sb.append("[TXO]\n"); - sb.append(" .options = ").append(HexDump.shortToHex(field_1_options)).append("\n"); - sb.append(" .isHorizontal = ").append(getHorizontalTextAlignment()).append('\n'); - sb.append(" .isVertical = ").append(getVerticalTextAlignment()).append('\n'); - sb.append(" .textLocked = ").append(isTextLocked()).append('\n'); - sb.append(" .textOrientation= ").append(HexDump.shortToHex(getTextOrientation())).append("\n"); - sb.append(" .reserved4 = ").append(HexDump.shortToHex(field_3_reserved4)).append("\n"); - sb.append(" .reserved5 = ").append(HexDump.shortToHex(field_4_reserved5)).append("\n"); - sb.append(" .reserved6 = ").append(HexDump.shortToHex(field_5_reserved6)).append("\n"); - sb.append(" .textLength = ").append(HexDump.shortToHex(_text.length())).append("\n"); - sb.append(" .reserved7 = ").append(HexDump.intToHex(field_8_reserved7)).append("\n"); - - sb.append(" .string = ").append(_text).append('\n'); - - for (int i = 0; i < _text.numFormattingRuns(); i++) { - sb.append(" .textrun = ").append(_text.getFontOfFormattingRun(i)).append('\n'); - - } - sb.append("[/TXO]\n"); - return sb.toString(); - } - @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public TextObjectRecord clone() { @@ -354,4 +329,24 @@ public final class TextObjectRecord exte public TextObjectRecord copy() { return new TextObjectRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.TEXT_OBJECT; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + final Map<String,Supplier<?>> m = new LinkedHashMap<>(); + m.put("isHorizontal", this::getHorizontalTextAlignment); + m.put("isVertical", this::getVerticalTextAlignment); + m.put("textLocked", this::isTextLocked); + m.put("textOrientation", this::getTextOrientation); + m.put("string", this::getStr); + m.put("reserved4", () -> field_3_reserved4); + m.put("reserved5", () -> field_4_reserved5); + m.put("reserved6", () -> field_5_reserved6); + m.put("reserved7", () -> field_8_reserved7); + return Collections.unmodifiableMap(m); + } }
Modified: poi/trunk/src/java/org/apache/poi/hssf/record/TopMarginRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/TopMarginRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/TopMarginRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/TopMarginRecord.java Sun Apr 12 22:03:52 2020 @@ -17,6 +17,10 @@ package org.apache.poi.hssf.record; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -42,15 +46,6 @@ public final class TopMarginRecord exten field_1_margin = in.readDouble(); } - public String toString() - { - StringBuilder buffer = new StringBuilder(); - buffer.append( "[TopMargin]\n" ); - buffer.append( " .margin = " ).append( " (" ).append( getMargin() ).append( " )\n" ); - buffer.append( "[/TopMargin]\n" ); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeDouble(field_1_margin); } @@ -73,7 +68,7 @@ public final class TopMarginRecord exten { this.field_1_margin = field_1_margin; } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public TopMarginRecord clone() { @@ -84,4 +79,15 @@ public final class TopMarginRecord exten public TopMarginRecord copy() { return new TopMarginRecord(this); } + + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.TOP_MARGIN; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties("magin", this::getMargin); + } } \ No newline at end of file Modified: poi/trunk/src/java/org/apache/poi/hssf/record/UncalcedRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/UncalcedRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/UncalcedRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/UncalcedRecord.java Sun Apr 12 22:03:52 2020 @@ -17,6 +17,10 @@ package org.apache.poi.hssf.record; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; /** @@ -45,14 +49,6 @@ public final class UncalcedRecord extend _reserved = in.readShort(); // unused } - public String toString() { - StringBuilder buffer = new StringBuilder(); - buffer.append("[UNCALCED]\n"); - buffer.append(" _reserved: ").append(_reserved).append('\n'); - buffer.append("[/UNCALCED]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeShort(_reserved); } @@ -69,4 +65,14 @@ public final class UncalcedRecord extend public UncalcedRecord copy() { return new UncalcedRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.UNCALCED; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties("reserved", () -> _reserved); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/UnknownRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/UnknownRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/UnknownRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/UnknownRecord.java Sun Apr 12 22:03:52 2020 @@ -18,9 +18,11 @@ package org.apache.poi.hssf.record; import java.util.Locale; +import java.util.Map; +import java.util.function.Supplier; import org.apache.poi.hssf.record.aggregates.PageSettingsBlock; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -97,27 +99,6 @@ public final class UnknownRecord extends protected int getDataSize() { return _rawData.length; } - - /** - * print a sort of string representation ([UNKNOWN RECORD] id = x [/UNKNOWN RECORD]) - */ - @Override - public String toString() { - String biffName = getBiffName(_sid); - if (biffName == null) { - biffName = "UNKNOWNRECORD"; - } - StringBuilder sb = new StringBuilder(); - - sb.append('[').append(biffName).append("] (0x"); - sb.append(Integer.toHexString(_sid).toUpperCase(Locale.ROOT)).append(")\n"); - if (_rawData.length > 0) { - sb.append(" rawData=").append(HexDump.toHex(_rawData)).append("\n"); - } - sb.append("[/").append(biffName).append("]\n"); - return sb.toString(); - } - @Override public short getSid() { return (short) _sid; @@ -285,7 +266,7 @@ public final class UnknownRecord extends } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public UnknownRecord clone() { @@ -297,4 +278,23 @@ public final class UnknownRecord extends // immutable - OK to return this return this; } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.UNKNOWN; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + Supplier<String> biffName = () -> { + String bn = getBiffName(_sid); + return bn == null ? "UNKNOWNRECORD" : bn; + }; + + return GenericRecordUtil.getGenericProperties( + "sid", this::getSid, + "biffName", biffName, + "rawData", () -> _rawData + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/UseSelFSRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/UseSelFSRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/UseSelFSRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/UseSelFSRecord.java Sun Apr 12 22:03:52 2020 @@ -17,9 +17,14 @@ package org.apache.poi.hssf.record; +import static org.apache.poi.util.GenericRecordUtil.getBitsAsString; + +import java.util.Map; +import java.util.function.Supplier; + import org.apache.poi.util.BitField; import org.apache.poi.util.BitFieldFactory; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -51,15 +56,6 @@ public final class UseSelFSRecord extend _options = useNaturalLanguageFormulasFlag.setBoolean(_options, b); } - public String toString() { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[USESELFS]\n"); - buffer.append(" .options = ").append(HexDump.shortToHex(_options)).append("\n"); - buffer.append("[/USESELFS]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeShort(_options); } @@ -73,7 +69,7 @@ public final class UseSelFSRecord extend } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public UseSelFSRecord clone() { @@ -84,4 +80,15 @@ public final class UseSelFSRecord extend public UseSelFSRecord copy() { return new UseSelFSRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.USE_SEL_FS; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties("options", getBitsAsString(() -> _options, + new BitField[]{useNaturalLanguageFormulasFlag}, new String[]{"USE_NATURAL_LANGUAGE_FORMULAS_FLAG"})); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/UserSViewBegin.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/UserSViewBegin.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/UserSViewBegin.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/UserSViewBegin.java Sun Apr 12 22:03:52 2020 @@ -17,9 +17,10 @@ package org.apache.poi.hssf.record; -import java.util.Locale; +import java.util.Map; +import java.util.function.Supplier; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -78,18 +79,8 @@ public final class UserSViewBegin extend return guid; } - public String toString() { - StringBuilder sb = new StringBuilder(); - - sb.append("[").append("USERSVIEWBEGIN").append("] (0x"); - sb.append(Integer.toHexString(sid).toUpperCase(Locale.ROOT)).append(")\n"); - sb.append(" rawData=").append(HexDump.toHex(_rawData)).append("\n"); - sb.append("[/").append("USERSVIEWBEGIN").append("]\n"); - return sb.toString(); - } - @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public UserSViewBegin clone() { @@ -101,4 +92,16 @@ public final class UserSViewBegin extend return new UserSViewBegin(this); } + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.USER_SVIEW_BEGIN; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "guid", this::getGuid, + "rawData", () -> _rawData + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/UserSViewEnd.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/UserSViewEnd.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/UserSViewEnd.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/UserSViewEnd.java Sun Apr 12 22:03:52 2020 @@ -17,9 +17,10 @@ package org.apache.poi.hssf.record; -import java.util.Locale; +import java.util.Map; +import java.util.function.Supplier; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -65,18 +66,8 @@ public final class UserSViewEnd extends return sid; } - public String toString() { - StringBuilder sb = new StringBuilder(); - - sb.append('[').append("USERSVIEWEND").append("] (0x"); - sb.append(Integer.toHexString(sid).toUpperCase(Locale.ROOT)).append(")\n"); - sb.append(" rawData=").append(HexDump.toHex(_rawData)).append("\n"); - sb.append("[/").append("USERSVIEWEND").append("]\n"); - return sb.toString(); - } - @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public UserSViewEnd clone() { @@ -87,4 +78,14 @@ public final class UserSViewEnd extends public UserSViewEnd copy() { return new UserSViewEnd(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.USER_SVIEW_END; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties("rawData", () -> _rawData); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/VCenterRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/VCenterRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/VCenterRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/VCenterRecord.java Sun Apr 12 22:03:52 2020 @@ -17,6 +17,10 @@ package org.apache.poi.hssf.record; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -61,17 +65,6 @@ public final class VCenterRecord extends return (field_1_vcenter == 1); } - public String toString() - { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[VCENTER]\n"); - buffer.append(" .vcenter = ").append(getVCenter()) - .append("\n"); - buffer.append("[/VCENTER]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeShort(field_1_vcenter); } @@ -86,7 +79,7 @@ public final class VCenterRecord extends } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public VCenterRecord clone() { @@ -97,4 +90,15 @@ public final class VCenterRecord extends public VCenterRecord copy() { return new VCenterRecord(this); } + + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.V_CENTER; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties("vcenter", this::getVCenter); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/VerticalPageBreakRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/VerticalPageBreakRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/VerticalPageBreakRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/VerticalPageBreakRecord.java Sun Apr 12 22:03:52 2020 @@ -49,7 +49,7 @@ public final class VerticalPageBreakReco } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public VerticalPageBreakRecord clone() { @@ -60,4 +60,9 @@ public final class VerticalPageBreakReco public VerticalPageBreakRecord copy() { return new VerticalPageBreakRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.VERTICAL_PAGE_BREAK; + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/WSBoolRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/WSBoolRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/WSBoolRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/WSBoolRecord.java Sun Apr 12 22:03:52 2020 @@ -17,8 +17,14 @@ package org.apache.poi.hssf.record; +import static org.apache.poi.util.GenericRecordUtil.getBitsAsString; + +import java.util.Map; +import java.util.function.Supplier; + import org.apache.poi.util.BitField; import org.apache.poi.util.BitFieldFactory; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -276,22 +282,6 @@ public final class WSBoolRecord extends return alternateformula.isSet(field_2_wsbool); } - // end bitfields - public String toString() { - return "[WSBOOL]\n" + - " .wsbool1 = " + Integer.toHexString(getWSBool1()) + "\n" + - " .autobreaks = " + getAutobreaks() + "\n" + - " .dialog = " + getDialog() + "\n" + - " .rowsumsbelw= " + getRowSumsBelow() + "\n" + - " .rowsumsrigt= " + getRowSumsRight() + "\n" + - " .wsbool2 = " + Integer.toHexString(getWSBool2()) + "\n" + - " .fittopage = " + getFitToPage() + "\n" + - " .displayguts= " + getDisplayGuts() + "\n" + - " .alternateex= " + getAlternateExpression() + "\n" + - " .alternatefo= " + getAlternateFormula() + "\n" + - "[/WSBOOL]\n"; - } - public void serialize(LittleEndianOutput out) { out.writeByte(getWSBool2()); out.writeByte(getWSBool1()); @@ -307,7 +297,7 @@ public final class WSBoolRecord extends } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public WSBoolRecord clone() { @@ -318,4 +308,21 @@ public final class WSBoolRecord extends public WSBoolRecord copy() { return new WSBoolRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.WS_BOOL; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "wsbool1", getBitsAsString(this::getWSBool1, + new BitField[]{autobreaks, dialog, applystyles, rowsumsbelow, rowsumsright}, + new String[]{"AUTO_BREAKS", "DIALOG", "APPLY_STYLES", "ROW_SUMS_BELOW", "ROW_SUMS_RIGHT"}), + "wsbool2", getBitsAsString(this::getWSBool2, + new BitField[]{fittopage, displayguts, alternateexpression, alternateformula}, + new String[]{"FIT_TO_PAGE", "DISPLAY_GUTS", "ALTERNATE_EXPRESSION", "ALTERNATE_FORMULA"}) + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/WindowOneRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/WindowOneRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/WindowOneRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/WindowOneRecord.java Sun Apr 12 22:03:52 2020 @@ -17,8 +17,14 @@ package org.apache.poi.hssf.record; +import static org.apache.poi.util.GenericRecordUtil.getBitsAsString; + +import java.util.Map; +import java.util.function.Supplier; + import org.apache.poi.util.BitField; import org.apache.poi.util.BitFieldFactory; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; /** @@ -363,39 +369,6 @@ public final class WindowOneRecord exten return field_9_tab_width_ratio; } - public String toString() { - return "[WINDOW1]\n" + - " .h_hold = " + - Integer.toHexString(getHorizontalHold()) + "\n" + - " .v_hold = " + - Integer.toHexString(getVerticalHold()) + "\n" + - " .width = " + - Integer.toHexString(getWidth()) + "\n" + - " .height = " + - Integer.toHexString(getHeight()) + "\n" + - " .options = " + - Integer.toHexString(getOptions()) + "\n" + - " .hidden = " + getHidden() + - "\n" + - " .iconic = " + getIconic() + - "\n" + - " .hscroll = " + - getDisplayHorizontalScrollbar() + "\n" + - " .vscroll = " + - getDisplayVerticalScrollbar() + "\n" + - " .tabs = " + getDisplayTabs() + - "\n" + - " .activeSheet = " + - Integer.toHexString(getActiveSheetIndex()) + "\n" + - " .firstVisibleTab = " + - Integer.toHexString(getFirstVisibleTab()) + "\n" + - " .numselectedtabs = " + - Integer.toHexString(getNumSelectedTabs()) + "\n" + - " .tabwidthratio = " + - Integer.toHexString(getTabWidthRatio()) + "\n" + - "[/WINDOW1]\n"; - } - public void serialize(LittleEndianOutput out) { out.writeShort(getHorizontalHold()); out.writeShort(getVerticalHold()); @@ -421,4 +394,25 @@ public final class WindowOneRecord exten public WindowOneRecord copy() { return new WindowOneRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.WINDOW_ONE; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "horizontalHold", this::getHorizontalHold, + "verticalHold", this::getVerticalHold, + "width", this::getWidth, + "options", getBitsAsString(this::getOptions, + new BitField[]{hidden, iconic, reserved, hscroll, vscroll, tabs}, + new String[]{"HIDDEN", "ICONIC", "RESERVED", "HSCROLL", "VSCROLL", "TABS"}), + "activeSheetIndex", this::getActiveSheetIndex, + "firstVisibleTab", this::getFirstVisibleTab, + "numSelectedTabs", this::getNumSelectedTabs, + "tabWidthRatio", this::getTabWidthRatio + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/WindowProtectRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/WindowProtectRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/WindowProtectRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/WindowProtectRecord.java Sun Apr 12 22:03:52 2020 @@ -17,9 +17,12 @@ package org.apache.poi.hssf.record; +import java.util.Map; +import java.util.function.Supplier; + import org.apache.poi.util.BitField; import org.apache.poi.util.BitFieldFactory; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -68,15 +71,6 @@ public final class WindowProtectRecord e return settingsProtectedFlag.isSet(_options); } - public String toString() { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[WINDOWPROTECT]\n"); - buffer.append(" .options = ").append(HexDump.shortToHex(_options)).append("\n"); - buffer.append("[/WINDOWPROTECT]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeShort(_options); } @@ -91,7 +85,7 @@ public final class WindowProtectRecord e } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public WindowProtectRecord clone() { @@ -102,4 +96,17 @@ public final class WindowProtectRecord e public WindowProtectRecord copy() { return new WindowProtectRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.WINDOW_PROTECT; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "options", () -> _options, + "protect", this::getProtect + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/WindowTwoRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/WindowTwoRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/WindowTwoRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/WindowTwoRecord.java Sun Apr 12 22:03:52 2020 @@ -17,8 +17,12 @@ package org.apache.poi.hssf.record; +import java.util.Map; +import java.util.function.Supplier; + import org.apache.poi.util.BitField; import org.apache.poi.util.BitFieldFactory; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -438,30 +442,6 @@ public final class WindowTwoRecord exten return field_7_reserved; } - public String toString() { - return "[WINDOW2]\n" + - " .options = " + Integer.toHexString(getOptions()) + "\n" + - " .dispformulas= " + getDisplayFormulas() + "\n" + - " .dispgridlins= " + getDisplayGridlines() + "\n" + - " .disprcheadin= " + getDisplayRowColHeadings() + "\n" + - " .freezepanes = " + getFreezePanes() + "\n" + - " .displayzeros= " + getDisplayZeros() + "\n" + - " .defaultheadr= " + getDefaultHeader() + "\n" + - " .arabic = " + getArabic() + "\n" + - " .displayguts = " + getDisplayGuts() + "\n" + - " .frzpnsnosplt= " + getFreezePanesNoSplit() + "\n" + - " .selected = " + getSelected() + "\n" + - " .active = " + isActive() + "\n" + - " .svdinpgbrkpv= " + getSavedInPageBreakPreview() + "\n" + - " .toprow = " + Integer.toHexString(getTopRow()) + "\n" + - " .leftcol = " + Integer.toHexString(getLeftCol()) + "\n" + - " .headercolor = " + Integer.toHexString(getHeaderColor()) + "\n" + - " .pagebreakzoom = " + Integer.toHexString(getPageBreakZoom()) + "\n" + - " .normalzoom = " + Integer.toHexString(getNormalZoom()) + "\n" + - " .reserved = " + Integer.toHexString(getReserved()) + "\n" + - "[/WINDOW2]\n"; - } - public void serialize(LittleEndianOutput out) { out.writeShort(getOptions()); out.writeShort(getTopRow()); @@ -482,7 +462,7 @@ public final class WindowTwoRecord exten } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public WindowTwoRecord clone() { @@ -493,4 +473,24 @@ public final class WindowTwoRecord exten public WindowTwoRecord copy() { return new WindowTwoRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.WINDOW_TWO; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "options", GenericRecordUtil.getBitsAsString(this::getOptions, + new BitField[]{displayFormulas, displayGridlines, displayRowColHeadings, freezePanes, displayZeros, defaultHeader, arabic, displayGuts, freezePanesNoSplit, selected, active, savedInPageBreakPreview}, + new String[]{"DISPLAY_FORMULAS", "DISPLAY_GRIDLINES", "DISPLAY_ROW_COL_HEADINGS", "FREEZE_PANES", "DISPLAY_ZEROS", "DEFAULT_HEADER", "ARABIC", "DISPLAY_GUTS", "FREEZE_PANES_NO_SPLIT", "SELECTED", "ACTIVE", "SAVED_IN_PAGE_BREAK_PREVIEW"}), + "topRow", this::getTopRow, + "leftCol", this::getLeftCol, + "headerColor", this::getHeaderColor, + "pageBreakZoom", this::getPageBreakZoom, + "normalZoom", this::getNormalZoom, + "reserved", this::getReserved + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/WriteAccessRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/WriteAccessRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/WriteAccessRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/WriteAccessRecord.java Sun Apr 12 22:03:52 2020 @@ -18,7 +18,10 @@ package org.apache.poi.hssf.record; import java.util.Arrays; +import java.util.Map; +import java.util.function.Supplier; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndian; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.RecordFormatException; @@ -121,15 +124,6 @@ public final class WriteAccessRecord ext return field_1_username; } - public String toString() { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[WRITEACCESS]\n"); - buffer.append(" .name = ").append(field_1_username).append("\n"); - buffer.append("[/WRITEACCESS]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { String username = getUsername(); boolean is16bit = StringUtil.hasMultibyte(username); @@ -158,4 +152,14 @@ public final class WriteAccessRecord ext public WriteAccessRecord copy() { return new WriteAccessRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.WRITE_ACCESS; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties("username", this::getUsername); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/WriteProtectRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/WriteProtectRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/WriteProtectRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/WriteProtectRecord.java Sun Apr 12 22:03:52 2020 @@ -17,6 +17,9 @@ package org.apache.poi.hssf.record; +import java.util.Map; +import java.util.function.Supplier; + import org.apache.poi.util.LittleEndianOutput; /** @@ -39,15 +42,6 @@ public final class WriteProtectRecord ex } } - public String toString() - { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[WRITEPROTECT]\n"); - buffer.append("[/WRITEPROTECT]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { } @@ -64,4 +58,14 @@ public final class WriteProtectRecord ex public WriteProtectRecord copy() { return new WriteProtectRecord(); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.WRITE_PROTECT; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return null; + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/AreaFormatRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/AreaFormatRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/AreaFormatRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/AreaFormatRecord.java Sun Apr 12 22:03:52 2020 @@ -17,11 +17,16 @@ package org.apache.poi.hssf.record.chart; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; import org.apache.poi.util.BitField; import org.apache.poi.util.BitFieldFactory; -import org.apache.poi.util.HexDump; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -63,42 +68,6 @@ public final class AreaFormatRecord exte field_6_backcolorIndex = other.field_6_backcolorIndex; } - public String toString() - { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[AREAFORMAT]\n"); - buffer.append(" .foregroundColor = ") - .append("0x").append(HexDump.toHex( getForegroundColor ())) - .append(" (").append( getForegroundColor() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .backgroundColor = ") - .append("0x").append(HexDump.toHex( getBackgroundColor ())) - .append(" (").append( getBackgroundColor() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .pattern = ") - .append("0x").append(HexDump.toHex( getPattern ())) - .append(" (").append( getPattern() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .formatFlags = ") - .append("0x").append(HexDump.toHex( getFormatFlags ())) - .append(" (").append( getFormatFlags() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .automatic = ").append(isAutomatic()).append('\n'); - buffer.append(" .invert = ").append(isInvert()).append('\n'); - buffer.append(" .forecolorIndex = ") - .append("0x").append(HexDump.toHex( getForecolorIndex ())) - .append(" (").append( getForecolorIndex() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .backcolorIndex = ") - .append("0x").append(HexDump.toHex( getBackcolorIndex ())) - .append(" (").append( getBackcolorIndex() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - - buffer.append("[/AREAFORMAT]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeInt(field_1_foregroundColor); out.writeInt(field_2_backgroundColor); @@ -118,7 +87,7 @@ public final class AreaFormatRecord exte } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public AreaFormatRecord clone() { @@ -261,4 +230,23 @@ public final class AreaFormatRecord exte public AreaFormatRecord copy() { return new AreaFormatRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.AREA_FORMAT; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + final Map<String,Supplier<?>> m = new LinkedHashMap<>(); + m.put("foregroundColor", this::getForegroundColor); + m.put("backgroundColor", this::getBackgroundColor); + m.put("pattern", this::getPattern); + m.put("inverted", this::isInvert); + m.put("automatic", this::isAutomatic); + m.put("formatFlags", this::getFormatFlags); + m.put("forecolorIndex", this::getForecolorIndex); + m.put("backcolorIndex", this::getBackcolorIndex); + return Collections.unmodifiableMap(m); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/AreaRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/AreaRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/AreaRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/AreaRecord.java Sun Apr 12 22:03:52 2020 @@ -17,11 +17,15 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; import org.apache.poi.util.BitField; import org.apache.poi.util.BitFieldFactory; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -48,23 +52,6 @@ public final class AreaRecord extends St field_1_formatFlags = in.readShort(); } - public String toString() - { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[AREA]\n"); - buffer.append(" .formatFlags = ") - .append("0x").append(HexDump.toHex( getFormatFlags ())) - .append(" (").append( getFormatFlags() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .stacked = ").append(isStacked()).append('\n'); - buffer.append(" .displayAsPercentage = ").append(isDisplayAsPercentage()).append('\n'); - buffer.append(" .shadow = ").append(isShadow()).append('\n'); - - buffer.append("[/AREA]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeShort(field_1_formatFlags); } @@ -79,7 +66,7 @@ public final class AreaRecord extends St } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public AreaRecord clone() { @@ -160,4 +147,19 @@ public final class AreaRecord extends St public AreaRecord copy() { return new AreaRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.AREA; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "formatFlags", this::getFormatFlags, + "stacked", this::isStacked, + "displayAsPercentage", this::isDisplayAsPercentage, + "shadow", this::isShadow + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisLineFormatRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisLineFormatRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisLineFormatRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisLineFormatRecord.java Sun Apr 12 22:03:52 2020 @@ -17,9 +17,13 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -46,20 +50,6 @@ public final class AxisLineFormatRecord field_1_axisType = in.readShort(); } - public String toString() - { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[AXISLINEFORMAT]\n"); - buffer.append(" .axisType = ") - .append("0x").append(HexDump.toHex( getAxisType ())) - .append(" (").append( getAxisType() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - - buffer.append("[/AXISLINEFORMAT]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeShort(field_1_axisType); } @@ -74,7 +64,7 @@ public final class AxisLineFormatRecord } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public AxisLineFormatRecord clone() { @@ -114,4 +104,16 @@ public final class AxisLineFormatRecord public AxisLineFormatRecord copy() { return new AxisLineFormatRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.AXIS_LINE_FORMAT; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "axisType", this::getAxisType + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisOptionsRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisOptionsRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisOptionsRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisOptionsRecord.java Sun Apr 12 22:03:52 2020 @@ -17,11 +17,17 @@ package org.apache.poi.hssf.record.chart; +import static org.apache.poi.util.GenericRecordUtil.getBitsAsString; + +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; import org.apache.poi.util.BitField; import org.apache.poi.util.BitFieldFactory; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -40,6 +46,12 @@ public final class AxisOptionsRecord ext private static final BitField defaultCross = BitFieldFactory.getInstance(0x40); private static final BitField defaultDateSettings = BitFieldFactory.getInstance(0x80); + private static final int[] FLAG_MASKS = { 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80 }; + + private static final String[] FLAG_NAMES = { "DEFAULT_MINIMUM", "DEFAULT_MAXIMUM", "DEFAULT_MAJOR", + "DEFAULT_MINOR_UNIT", "IS_DATE", "DEFAULT_BASE", "DEFAULT_CROSS", "DEFAULT_DATE_SETTINGS" }; + + private short field_1_minimumCategory; private short field_2_maximumCategory; private short field_3_majorUnitValue; @@ -79,60 +91,6 @@ public final class AxisOptionsRecord ext field_9_options = in.readShort(); } - public String toString() - { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[AXCEXT]\n"); - buffer.append(" .minimumCategory = ") - .append("0x").append(HexDump.toHex( getMinimumCategory ())) - .append(" (").append( getMinimumCategory() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .maximumCategory = ") - .append("0x").append(HexDump.toHex( getMaximumCategory ())) - .append(" (").append( getMaximumCategory() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .majorUnitValue = ") - .append("0x").append(HexDump.toHex( getMajorUnitValue ())) - .append(" (").append( getMajorUnitValue() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .majorUnit = ") - .append("0x").append(HexDump.toHex( getMajorUnit ())) - .append(" (").append( getMajorUnit() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .minorUnitValue = ") - .append("0x").append(HexDump.toHex( getMinorUnitValue ())) - .append(" (").append( getMinorUnitValue() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .minorUnit = ") - .append("0x").append(HexDump.toHex( getMinorUnit ())) - .append(" (").append( getMinorUnit() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .baseUnit = ") - .append("0x").append(HexDump.toHex( getBaseUnit ())) - .append(" (").append( getBaseUnit() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .crossingPoint = ") - .append("0x").append(HexDump.toHex( getCrossingPoint ())) - .append(" (").append( getCrossingPoint() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .options = ") - .append("0x").append(HexDump.toHex( getOptions ())) - .append(" (").append( getOptions() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .defaultMinimum = ").append(isDefaultMinimum()).append('\n'); - buffer.append(" .defaultMaximum = ").append(isDefaultMaximum()).append('\n'); - buffer.append(" .defaultMajor = ").append(isDefaultMajor()).append('\n'); - buffer.append(" .defaultMinorUnit = ").append(isDefaultMinorUnit()).append('\n'); - buffer.append(" .isDate = ").append(isIsDate()).append('\n'); - buffer.append(" .defaultBase = ").append(isDefaultBase()).append('\n'); - buffer.append(" .defaultCross = ").append(isDefaultCross()).append('\n'); - buffer.append(" .defaultDateSettings = ").append(isDefaultDateSettings()).append('\n'); - - buffer.append("[/AXCEXT]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeShort(field_1_minimumCategory); out.writeShort(field_2_maximumCategory); @@ -155,7 +113,7 @@ public final class AxisOptionsRecord ext } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public AxisOptionsRecord clone() { @@ -454,4 +412,24 @@ public final class AxisOptionsRecord ext public AxisOptionsRecord copy() { return new AxisOptionsRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.AXIS_OPTIONS; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "minimumCategory", this::getMinimumCategory, + "maximumCategory", this::getMaximumCategory, + "majorUnitValue", this::getMajorUnitValue, + "majorUnit", this::getMajorUnit, + "minorUnitValue", this::getMinorUnitValue, + "minorUnit", this::getMinorUnit, + "baseUnit", this::getBaseUnit, + "crossingPoint", this::getCrossingPoint, + "options", getBitsAsString(this::getOptions, FLAG_MASKS, FLAG_NAMES) + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisParentRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisParentRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisParentRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisParentRecord.java Sun Apr 12 22:03:52 2020 @@ -17,9 +17,13 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -58,36 +62,6 @@ public final class AxisParentRecord exte field_5_height = in.readInt(); } - public String toString() - { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[AXISPARENT]\n"); - buffer.append(" .axisType = ") - .append("0x").append(HexDump.toHex( getAxisType ())) - .append(" (").append( getAxisType() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .x = ") - .append("0x").append(HexDump.toHex( getX ())) - .append(" (").append( getX() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .y = ") - .append("0x").append(HexDump.toHex( getY ())) - .append(" (").append( getY() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .width = ") - .append("0x").append(HexDump.toHex( getWidth ())) - .append(" (").append( getWidth() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .height = ") - .append("0x").append(HexDump.toHex( getHeight ())) - .append(" (").append( getHeight() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - - buffer.append("[/AXISPARENT]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeShort(field_1_axisType); out.writeInt(field_2_x); @@ -106,7 +80,7 @@ public final class AxisParentRecord exte } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public AxisParentRecord clone() { @@ -206,4 +180,20 @@ public final class AxisParentRecord exte public AxisParentRecord copy() { return new AxisParentRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.AXIS_PARENT; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "axisType", this::getAxisType, + "x", this::getX, + "y", this::getY, + "width", this::getWidth, + "height", this::getHeight + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisRecord.java Sun Apr 12 22:03:52 2020 @@ -17,9 +17,13 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -57,36 +61,6 @@ public final class AxisRecord extends St field_5_reserved4 = in.readInt(); } - public String toString() - { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[AXIS]\n"); - buffer.append(" .axisType = ") - .append("0x").append(HexDump.toHex( getAxisType ())) - .append(" (").append( getAxisType() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .reserved1 = ") - .append("0x").append(HexDump.toHex( getReserved1 ())) - .append(" (").append( getReserved1() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .reserved2 = ") - .append("0x").append(HexDump.toHex( getReserved2 ())) - .append(" (").append( getReserved2() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .reserved3 = ") - .append("0x").append(HexDump.toHex( getReserved3 ())) - .append(" (").append( getReserved3() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .reserved4 = ") - .append("0x").append(HexDump.toHex( getReserved4 ())) - .append(" (").append( getReserved4() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - - buffer.append("[/AXIS]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeShort(field_1_axisType); out.writeInt(field_2_reserved1); @@ -105,7 +79,7 @@ public final class AxisRecord extends St } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public AxisRecord clone() { @@ -207,4 +181,20 @@ public final class AxisRecord extends St public AxisRecord copy() { return new AxisRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.AXIS; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "axisType", this::getAxisType, + "reserved1", this::getReserved1, + "reserved2", this::getReserved2, + "reserved3", this::getReserved3, + "reserved4", this::getReserved4 + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisUsedRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisUsedRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisUsedRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/AxisUsedRecord.java Sun Apr 12 22:03:52 2020 @@ -17,9 +17,13 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -42,20 +46,6 @@ public final class AxisUsedRecord extend field_1_numAxis = in.readShort(); } - public String toString() - { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[AXISUSED]\n"); - buffer.append(" .numAxis = ") - .append("0x").append(HexDump.toHex( getNumAxis ())) - .append(" (").append( getNumAxis() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - - buffer.append("[/AXISUSED]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeShort(field_1_numAxis); } @@ -70,7 +60,7 @@ public final class AxisUsedRecord extend } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public AxisUsedRecord clone() { @@ -97,4 +87,16 @@ public final class AxisUsedRecord extend public AxisUsedRecord copy() { return new AxisUsedRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.AXIS_USED; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "numAxis", this::getNumAxis + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/BarRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/BarRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/BarRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/BarRecord.java Sun Apr 12 22:03:52 2020 @@ -17,11 +17,16 @@ package org.apache.poi.hssf.record.chart; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; import org.apache.poi.util.BitField; import org.apache.poi.util.BitFieldFactory; -import org.apache.poi.util.HexDump; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -56,32 +61,6 @@ public final class BarRecord extends Sta field_3_formatFlags = in.readShort(); } - public String toString() - { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[BAR]\n"); - buffer.append(" .barSpace = ") - .append("0x").append(HexDump.toHex( getBarSpace ())) - .append(" (").append( getBarSpace() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .categorySpace = ") - .append("0x").append(HexDump.toHex( getCategorySpace ())) - .append(" (").append( getCategorySpace() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .formatFlags = ") - .append("0x").append(HexDump.toHex( getFormatFlags ())) - .append(" (").append( getFormatFlags() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .horizontal = ").append(isHorizontal()).append('\n'); - buffer.append(" .stacked = ").append(isStacked()).append('\n'); - buffer.append(" .displayAsPercentage = ").append(isDisplayAsPercentage()).append('\n'); - buffer.append(" .shadow = ").append(isShadow()).append('\n'); - - buffer.append("[/BAR]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeShort(field_1_barSpace); out.writeShort(field_2_categorySpace); @@ -98,7 +77,7 @@ public final class BarRecord extends Sta } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public BarRecord clone() { @@ -229,4 +208,23 @@ public final class BarRecord extends Sta public BarRecord copy() { return new BarRecord(this); } + + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.BAR; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + final Map<String,Supplier<?>> m = new LinkedHashMap<>(); + m.put("barSpace", this::getBarSpace); + m.put("categorySpace", this::getCategorySpace); + m.put("formatFlags", this::getFormatFlags); + m.put("horizontal", this::isHorizontal); + m.put("stacked", this::isStacked); + m.put("displayAsPercentage", this::isDisplayAsPercentage); + m.put("shadow", this::isShadow); + return Collections.unmodifiableMap(m); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/BeginRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/BeginRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/BeginRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/BeginRecord.java Sun Apr 12 22:03:52 2020 @@ -17,6 +17,10 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; import org.apache.poi.util.LittleEndianOutput; @@ -42,15 +46,6 @@ public final class BeginRecord extends S */ public BeginRecord(RecordInputStream in) {} - public String toString() - { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[BEGIN]\n"); - buffer.append("[/BEGIN]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { } @@ -64,7 +59,7 @@ public final class BeginRecord extends S } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public BeginRecord clone() { @@ -75,4 +70,14 @@ public final class BeginRecord extends S public BeginRecord copy() { return new BeginRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.BEGIN; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return null; + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/CatLabRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/CatLabRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/CatLabRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/CatLabRecord.java Sun Apr 12 22:03:52 2020 @@ -17,9 +17,13 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; /** @@ -82,24 +86,24 @@ public final class CatLabRecord extends } @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[CATLAB]\n"); - buffer.append(" .rt =").append(HexDump.shortToHex(rt)).append('\n'); - buffer.append(" .grbitFrt=").append(HexDump.shortToHex(grbitFrt)).append('\n'); - buffer.append(" .wOffset =").append(HexDump.shortToHex(wOffset)).append('\n'); - buffer.append(" .at =").append(HexDump.shortToHex(at)).append('\n'); - buffer.append(" .grbit =").append(HexDump.shortToHex(grbit)).append('\n'); - if(unused != null) - buffer.append(" .unused =").append(HexDump.shortToHex(unused)).append('\n'); + public CatLabRecord copy() { + return new CatLabRecord(this); + } - buffer.append("[/CATLAB]\n"); - return buffer.toString(); + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.CAT_LAB; } @Override - public CatLabRecord copy() { - return new CatLabRecord(this); + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "rt", () -> rt, + "grbitFrt", () -> grbitFrt, + "wOffset", () -> wOffset, + "at", () -> at, + "grbit", () -> grbit, + "unused", () -> unused + ); } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/CategorySeriesAxisRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/CategorySeriesAxisRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/CategorySeriesAxisRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/CategorySeriesAxisRecord.java Sun Apr 12 22:03:52 2020 @@ -17,11 +17,15 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; import org.apache.poi.util.BitField; import org.apache.poi.util.BitFieldFactory; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -58,35 +62,6 @@ public final class CategorySeriesAxisRec field_4_options = in.readShort(); } - public String toString() - { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[CATSERRANGE]\n"); - buffer.append(" .crossingPoint = ") - .append("0x").append(HexDump.toHex( getCrossingPoint ())) - .append(" (").append( getCrossingPoint() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .labelFrequency = ") - .append("0x").append(HexDump.toHex( getLabelFrequency ())) - .append(" (").append( getLabelFrequency() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .tickMarkFrequency = ") - .append("0x").append(HexDump.toHex( getTickMarkFrequency ())) - .append(" (").append( getTickMarkFrequency() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .options = ") - .append("0x").append(HexDump.toHex( getOptions ())) - .append(" (").append( getOptions() ).append(" )"); - buffer.append(System.getProperty("line.separator")); - buffer.append(" .valueAxisCrossing = ").append(isValueAxisCrossing()).append('\n'); - buffer.append(" .crossesFarRight = ").append(isCrossesFarRight()).append('\n'); - buffer.append(" .reversed = ").append(isReversed()).append('\n'); - - buffer.append("[/CATSERRANGE]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeShort(field_1_crossingPoint); out.writeShort(field_2_labelFrequency); @@ -104,7 +79,7 @@ public final class CategorySeriesAxisRec } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public CategorySeriesAxisRecord clone() { @@ -233,4 +208,22 @@ public final class CategorySeriesAxisRec public CategorySeriesAxisRecord copy() { return new CategorySeriesAxisRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.CATEGORY_SERIES_AXIS; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "crossingPoint", this::getCrossingPoint, + "labelFrequency", this::getLabelFrequency, + "tickMarkFrequency", this::getTickMarkFrequency, + "options", this::getOptions, + "valueAxisCrossing", this::isValueAxisCrossing, + "crossesFarRight", this::isCrossesFarRight, + "reversed", this::isReversed + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartEndBlockRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartEndBlockRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartEndBlockRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartEndBlockRecord.java Sun Apr 12 22:03:52 2020 @@ -17,9 +17,13 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -78,20 +82,7 @@ public final class ChartEndBlockRecord e } @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[ENDBLOCK]\n"); - buffer.append(" .rt =").append(HexDump.shortToHex(rt)).append('\n'); - buffer.append(" .grbitFrt =").append(HexDump.shortToHex(grbitFrt)).append('\n'); - buffer.append(" .iObjectKind=").append(HexDump.shortToHex(iObjectKind)).append('\n'); - buffer.append(" .unused =").append(HexDump.toHex(unused)).append('\n'); - buffer.append("[/ENDBLOCK]\n"); - return buffer.toString(); - } - - @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public ChartEndBlockRecord clone() { @@ -102,4 +93,19 @@ public final class ChartEndBlockRecord e public ChartEndBlockRecord copy() { return new ChartEndBlockRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.CHART_END_BLOCK; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "rt", () -> rt, + "grbitFrt", () -> grbitFrt, + "iObjectKind", () -> iObjectKind, + "unused", () -> unused + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartEndObjectRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartEndObjectRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartEndObjectRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartEndObjectRecord.java Sun Apr 12 22:03:52 2020 @@ -17,9 +17,13 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; /** @@ -78,20 +82,22 @@ public final class ChartEndObjectRecord } @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); + public ChartEndObjectRecord copy() { + return new ChartEndObjectRecord(this); + } - buffer.append("[ENDOBJECT]\n"); - buffer.append(" .rt =").append(HexDump.shortToHex(rt)).append('\n'); - buffer.append(" .grbitFrt =").append(HexDump.shortToHex(grbitFrt)).append('\n'); - buffer.append(" .iObjectKind=").append(HexDump.shortToHex(iObjectKind)).append('\n'); - buffer.append(" .reserved =").append(HexDump.toHex(reserved)).append('\n'); - buffer.append("[/ENDOBJECT]\n"); - return buffer.toString(); + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.CHART_END_OBJECT; } @Override - public ChartEndObjectRecord copy() { - return new ChartEndObjectRecord(this); + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "rt", () -> rt, + "grbitFrt", () -> grbitFrt, + "iObjectKind", () -> iObjectKind, + "reserved", () -> reserved + ); } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartFRTInfoRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartFRTInfoRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartFRTInfoRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartFRTInfoRecord.java Sun Apr 12 22:03:52 2020 @@ -17,11 +17,14 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; import java.util.stream.Stream; +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianInput; import org.apache.poi.util.LittleEndianOutput; @@ -107,21 +110,23 @@ public final class ChartFRTInfoRecord ex } @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); + public ChartFRTInfoRecord copy() { + return new ChartFRTInfoRecord(this); + } - buffer.append("[CHARTFRTINFO]\n"); - buffer.append(" .rt =").append(HexDump.shortToHex(rt)).append('\n'); - buffer.append(" .grbitFrt =").append(HexDump.shortToHex(grbitFrt)).append('\n'); - buffer.append(" .verOriginator=").append(HexDump.byteToHex(verOriginator)).append('\n'); - buffer.append(" .verWriter =").append(HexDump.byteToHex(verOriginator)).append('\n'); - buffer.append(" .nCFRTIDs =").append(HexDump.shortToHex(rgCFRTID.length)).append('\n'); - buffer.append("[/CHARTFRTINFO]\n"); - return buffer.toString(); + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.CHART_FRT_INFO; } @Override - public ChartFRTInfoRecord copy() { - return new ChartFRTInfoRecord(this); + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "rt", () -> rt, + "grbitFrt", () -> grbitFrt, + "verOriginator", () -> verOriginator, + "verWriter", () -> verWriter, + "rgCFRTIDs", () -> rgCFRTID + ); } -} +} \ No newline at end of file Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartFormatRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartFormatRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartFormatRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartFormatRecord.java Sun Apr 12 22:03:52 2020 @@ -17,11 +17,15 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; import org.apache.poi.util.BitField; import org.apache.poi.util.BitFieldFactory; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; /** @@ -65,19 +69,6 @@ public final class ChartFormatRecord ext field6_unknown = in.readUShort(); } - public String toString() { - StringBuilder buffer = new StringBuilder(); - - buffer.append("[CHARTFORMAT]\n"); - buffer.append(" .xPosition = ").append(getXPosition()).append("\n"); - buffer.append(" .yPosition = ").append(getYPosition()).append("\n"); - buffer.append(" .width = ").append(getWidth()).append("\n"); - buffer.append(" .height = ").append(getHeight()).append("\n"); - buffer.append(" .grBit = ").append(HexDump.intToHex(field5_grbit)).append("\n"); - buffer.append("[/CHARTFORMAT]\n"); - return buffer.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeInt(getXPosition()); out.writeInt(getYPosition()); @@ -139,4 +130,22 @@ public final class ChartFormatRecord ext public ChartFormatRecord copy() { return new ChartFormatRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.CHART_FORMAT; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "x", this::getXPosition, + "y", this::getYPosition, + "width", this::getWidth, + "height", this::getHeight, + "grbit", () -> field5_grbit, + "varyDisplayPattern", this::getVaryDisplayPattern, + "unknown", () -> field6_unknown + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartRecord.java Sun Apr 12 22:03:52 2020 @@ -17,8 +17,13 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -63,18 +68,6 @@ public final class ChartRecord extends S field_4_height = in.readInt(); } - public String toString() { - StringBuilder sb = new StringBuilder(); - - sb.append("[CHART]\n"); - sb.append(" .x = ").append(getX()).append('\n'); - sb.append(" .y = ").append(getY()).append('\n'); - sb.append(" .width = ").append(getWidth()).append('\n'); - sb.append(" .height= ").append(getHeight()).append('\n'); - sb.append("[/CHART]\n"); - return sb.toString(); - } - public void serialize(LittleEndianOutput out) { out.writeInt(field_1_x); out.writeInt(field_2_y); @@ -92,7 +85,7 @@ public final class ChartRecord extends S } @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public ChartRecord clone() { @@ -159,4 +152,19 @@ public final class ChartRecord extends S public void setHeight(int height) { field_4_height = height; } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.CHART; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "x", this::getX, + "y", this::getY, + "width", this::getWidth, + "height", this::getHeight + ); + } } Modified: poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartStartBlockRecord.java URL: http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartStartBlockRecord.java?rev=1876433&r1=1876432&r2=1876433&view=diff ============================================================================== --- poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartStartBlockRecord.java (original) +++ poi/trunk/src/java/org/apache/poi/hssf/record/chart/ChartStartBlockRecord.java Sun Apr 12 22:03:52 2020 @@ -17,9 +17,13 @@ package org.apache.poi.hssf.record.chart; +import java.util.Map; +import java.util.function.Supplier; + +import org.apache.poi.hssf.record.HSSFRecordTypes; import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.StandardRecord; -import org.apache.poi.util.HexDump; +import org.apache.poi.util.GenericRecordUtil; import org.apache.poi.util.LittleEndianOutput; import org.apache.poi.util.Removal; @@ -77,23 +81,8 @@ public final class ChartStartBlockRecord out.writeShort(iObjectInstance2); } - public String toString() { - - StringBuilder buffer = new StringBuilder(); - - buffer.append("[STARTBLOCK]\n"); - buffer.append(" .rt =").append(HexDump.shortToHex(rt)).append('\n'); - buffer.append(" .grbitFrt =").append(HexDump.shortToHex(grbitFrt)).append('\n'); - buffer.append(" .iObjectKind =").append(HexDump.shortToHex(iObjectKind)).append('\n'); - buffer.append(" .iObjectContext =").append(HexDump.shortToHex(iObjectContext)).append('\n'); - buffer.append(" .iObjectInstance1=").append(HexDump.shortToHex(iObjectInstance1)).append('\n'); - buffer.append(" .iObjectInstance2=").append(HexDump.shortToHex(iObjectInstance2)).append('\n'); - buffer.append("[/STARTBLOCK]\n"); - return buffer.toString(); - } - @Override - @SuppressWarnings("squid:S2975") + @SuppressWarnings({"squid:S2975", "MethodDoesntCallSuperMethod"}) @Deprecated @Removal(version = "5.0.0") public ChartStartBlockRecord clone() { @@ -104,4 +93,21 @@ public final class ChartStartBlockRecord public ChartStartBlockRecord copy() { return new ChartStartBlockRecord(this); } + + @Override + public HSSFRecordTypes getGenericRecordType() { + return HSSFRecordTypes.CHART_START_BLOCK; + } + + @Override + public Map<String, Supplier<?>> getGenericProperties() { + return GenericRecordUtil.getGenericProperties( + "rt", () -> rt, + "grbitFrt", () -> grbitFrt, + "iObjectKind", () -> iObjectKind, + "iObjectContext", () -> iObjectContext, + "iObjectInstance1", () -> iObjectInstance1, + "iObjectInstance2", () -> iObjectInstance2 + ); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@poi.apache.org For additional commands, e-mail: commits-h...@poi.apache.org