package org.apache.poi.hwpf.model.types;
-import org.apache.poi.hdf.model.hdftypes.HDFType;
import org.apache.poi.hwpf.usermodel.BorderCode;
import org.apache.poi.hwpf.usermodel.DateAndTime;
*
* @author S. Ryan Ackley
*/
-public abstract class SEPAbstractType implements HDFType {
-
- protected byte field_1_bkc;
- protected boolean field_2_fTitlePage;
- protected boolean field_3_fAutoPgn;
- protected byte field_4_nfcPgn;
- protected boolean field_5_fUnlocked;
- protected byte field_6_cnsPgn;
- protected boolean field_7_fPgnRestart;
- protected boolean field_8_fEndNote;
- protected byte field_9_lnc;
- protected byte field_10_grpfIhdt;
- protected int field_11_nLnnMod;
- protected int field_12_dxaLnn;
- protected int field_13_dxaPgn;
- protected int field_14_dyaPgn;
- protected boolean field_15_fLBetween;
- protected byte field_16_vjc;
- protected int field_17_dmBinFirst;
- protected int field_18_dmBinOther;
- protected int field_19_dmPaperReq;
- protected BorderCode field_20_brcTop;
- protected BorderCode field_21_brcLeft;
- protected BorderCode field_22_brcBottom;
- protected BorderCode field_23_brcRight;
- protected boolean field_24_fPropMark;
- protected int field_25_ibstPropRMark;
- protected DateAndTime field_26_dttmPropRMark;
- protected int field_27_dxtCharSpace;
- protected int field_28_dyaLinePitch;
- protected int field_29_clm;
- protected int field_30_unused2;
- protected byte field_31_dmOrientPage;
- protected byte field_32_iHeadingPgn;
- protected int field_33_pgnStart;
- protected int field_34_lnnMin;
- protected int field_35_wTextFlow;
- protected short field_36_unused3;
- protected int field_37_pgbProp;
- protected short field_38_unused4;
- protected int field_39_xaPage;
- protected int field_40_yaPage;
- protected int field_41_xaPageNUp;
- protected int field_42_yaPageNUp;
- protected int field_43_dxaLeft;
- protected int field_44_dxaRight;
- protected int field_45_dyaTop;
- protected int field_46_dyaBottom;
- protected int field_47_dzaGutter;
- protected int field_48_dyaHdrTop;
- protected int field_49_dyaHdrBottom;
- protected int field_50_ccolM1;
- protected boolean field_51_fEvenlySpaced;
- protected byte field_52_unused5;
- protected int field_53_dxaColumns;
- protected int[] field_54_rgdxaColumn;
- protected int field_55_dxaColumnWidth;
- protected byte field_56_dmOrientFirst;
- protected byte field_57_fLayout;
- protected short field_58_unused6;
- protected byte[] field_59_olstAnm;
-
-
- public SEPAbstractType()
- {
-
- }
-
- /**
- * Size of record (exluding 4 byte header)
- */
- public int getSize()
- {
- return 4 + + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 0 + 1 + 1 + 2 + 4 + 2 + 2 + 0 + 1 + 2 + 2 + 2 + 4 + 4 + 4 + 4 + 0 + 2 + 4 + 4 + 4 + 2 + 2 + 1 + 1 + 2 + 2 + 2 + 2 + 2 + 2 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 2 + 0 + 1 + 4 + 356 + 4 + 1 + 1 + 2 + 212;
- }
-
-
-
- /**
- * Get the bkc field for the SEP record.
+public abstract class SEPAbstractType
+{
+
+ protected byte field_1_bkc;
+ /** No break */
+ /**/public final static byte BKC_NO_BREAK = 0;
+ /** New column */
+ /**/public final static byte BKC_NEW_COLUMN = 1;
+ /** New page */
+ /**/public final static byte BKC_NEW_PAGE = 2;
+ /** Even page */
+ /**/public final static byte BKC_EVEN_PAGE = 3;
+ /** Odd page */
+ /**/public final static byte BKC_ODD_PAGE = 4;
+ protected boolean field_2_fTitlePage;
+ protected boolean field_3_fAutoPgn;
+ protected byte field_4_nfcPgn;
+ /** Arabic */
+ /**/public final static byte NFCPGN_ARABIC = 0;
+ /** Roman (upper case) */
+ /**/public final static byte NFCPGN_ROMAN_UPPER_CASE = 1;
+ /** Roman (lower case) */
+ /**/public final static byte NFCPGN_ROMAN_LOWER_CASE = 2;
+ /** Letter (upper case) */
+ /**/public final static byte NFCPGN_LETTER_UPPER_CASE = 3;
+ /** Letter (lower case) */
+ /**/public final static byte NFCPGN_LETTER_LOWER_CASE = 4;
+ protected boolean field_5_fUnlocked;
+ protected byte field_6_cnsPgn;
+ protected boolean field_7_fPgnRestart;
+ protected boolean field_8_fEndNote;
+ protected byte field_9_lnc;
+ protected byte field_10_grpfIhdt;
+ protected int field_11_nLnnMod;
+ protected int field_12_dxaLnn;
+ protected int field_13_dxaPgn;
+ protected int field_14_dyaPgn;
+ protected boolean field_15_fLBetween;
+ protected byte field_16_vjc;
+ protected int field_17_dmBinFirst;
+ protected int field_18_dmBinOther;
+ protected int field_19_dmPaperReq;
+ protected BorderCode field_20_brcTop;
+ protected BorderCode field_21_brcLeft;
+ protected BorderCode field_22_brcBottom;
+ protected BorderCode field_23_brcRight;
+ protected boolean field_24_fPropMark;
+ protected int field_25_ibstPropRMark;
+ protected DateAndTime field_26_dttmPropRMark;
+ protected int field_27_dxtCharSpace;
+ protected int field_28_dyaLinePitch;
+ protected int field_29_clm;
+ protected int field_30_unused2;
+ protected boolean field_31_dmOrientPage;
+ /**/public final static boolean DMORIENTPAGE_LANDSCAPE = false;
+ /**/public final static boolean DMORIENTPAGE_PORTRAIT = true;
+ protected byte field_32_iHeadingPgn;
+ protected int field_33_pgnStart;
+ protected int field_34_lnnMin;
+ protected int field_35_wTextFlow;
+ protected short field_36_unused3;
+ protected int field_37_pgbProp;
+ protected short field_38_unused4;
+ protected int field_39_xaPage;
+ protected int field_40_yaPage;
+ protected int field_41_xaPageNUp;
+ protected int field_42_yaPageNUp;
+ protected int field_43_dxaLeft;
+ protected int field_44_dxaRight;
+ protected int field_45_dyaTop;
+ protected int field_46_dyaBottom;
+ protected int field_47_dzaGutter;
+ protected int field_48_dyaHdrTop;
+ protected int field_49_dyaHdrBottom;
+ protected int field_50_ccolM1;
+ protected boolean field_51_fEvenlySpaced;
+ protected byte field_52_unused5;
+ protected int field_53_dxaColumns;
+ protected int[] field_54_rgdxaColumn;
+ protected int field_55_dxaColumnWidth;
+ protected byte field_56_dmOrientFirst;
+ protected byte field_57_fLayout;
+ protected short field_58_unused6;
+ protected byte[] field_59_olstAnm;
+
+ protected SEPAbstractType()
+ {
+ this.field_1_bkc = 2;
+ this.field_8_fEndNote = true;
+ this.field_13_dxaPgn = 720;
+ this.field_14_dyaPgn = 720;
+ this.field_31_dmOrientPage = true;
+ this.field_33_pgnStart = 1;
+ this.field_39_xaPage = 12240;
+ this.field_40_yaPage = 15840;
+ this.field_41_xaPageNUp = 12240;
+ this.field_42_yaPageNUp = 15840;
+ this.field_43_dxaLeft = 1800;
+ this.field_44_dxaRight = 1800;
+ this.field_45_dyaTop = 1440;
+ this.field_46_dyaBottom = 1440;
+ this.field_48_dyaHdrTop = 720;
+ this.field_49_dyaHdrBottom = 720;
+ this.field_51_fEvenlySpaced = true;
+ this.field_53_dxaColumns = 720;
+ }
+
+
+ public String toString()
+ {
+ StringBuilder builder = new StringBuilder();
+ builder.append("[SEP]\n");
+ builder.append(" .bkc = ");
+ builder.append(" (").append(getBkc()).append(" )\n");
+ builder.append(" .fTitlePage = ");
+ builder.append(" (").append(getFTitlePage()).append(" )\n");
+ builder.append(" .fAutoPgn = ");
+ builder.append(" (").append(getFAutoPgn()).append(" )\n");
+ builder.append(" .nfcPgn = ");
+ builder.append(" (").append(getNfcPgn()).append(" )\n");
+ builder.append(" .fUnlocked = ");
+ builder.append(" (").append(getFUnlocked()).append(" )\n");
+ builder.append(" .cnsPgn = ");
+ builder.append(" (").append(getCnsPgn()).append(" )\n");
+ builder.append(" .fPgnRestart = ");
+ builder.append(" (").append(getFPgnRestart()).append(" )\n");
+ builder.append(" .fEndNote = ");
+ builder.append(" (").append(getFEndNote()).append(" )\n");
+ builder.append(" .lnc = ");
+ builder.append(" (").append(getLnc()).append(" )\n");
+ builder.append(" .grpfIhdt = ");
+ builder.append(" (").append(getGrpfIhdt()).append(" )\n");
+ builder.append(" .nLnnMod = ");
+ builder.append(" (").append(getNLnnMod()).append(" )\n");
+ builder.append(" .dxaLnn = ");
+ builder.append(" (").append(getDxaLnn()).append(" )\n");
+ builder.append(" .dxaPgn = ");
+ builder.append(" (").append(getDxaPgn()).append(" )\n");
+ builder.append(" .dyaPgn = ");
+ builder.append(" (").append(getDyaPgn()).append(" )\n");
+ builder.append(" .fLBetween = ");
+ builder.append(" (").append(getFLBetween()).append(" )\n");
+ builder.append(" .vjc = ");
+ builder.append(" (").append(getVjc()).append(" )\n");
+ builder.append(" .dmBinFirst = ");
+ builder.append(" (").append(getDmBinFirst()).append(" )\n");
+ builder.append(" .dmBinOther = ");
+ builder.append(" (").append(getDmBinOther()).append(" )\n");
+ builder.append(" .dmPaperReq = ");
+ builder.append(" (").append(getDmPaperReq()).append(" )\n");
+ builder.append(" .brcTop = ");
+ builder.append(" (").append(getBrcTop()).append(" )\n");
+ builder.append(" .brcLeft = ");
+ builder.append(" (").append(getBrcLeft()).append(" )\n");
+ builder.append(" .brcBottom = ");
+ builder.append(" (").append(getBrcBottom()).append(" )\n");
+ builder.append(" .brcRight = ");
+ builder.append(" (").append(getBrcRight()).append(" )\n");
+ builder.append(" .fPropMark = ");
+ builder.append(" (").append(getFPropMark()).append(" )\n");
+ builder.append(" .ibstPropRMark = ");
+ builder.append(" (").append(getIbstPropRMark()).append(" )\n");
+ builder.append(" .dttmPropRMark = ");
+ builder.append(" (").append(getDttmPropRMark()).append(" )\n");
+ builder.append(" .dxtCharSpace = ");
+ builder.append(" (").append(getDxtCharSpace()).append(" )\n");
+ builder.append(" .dyaLinePitch = ");
+ builder.append(" (").append(getDyaLinePitch()).append(" )\n");
+ builder.append(" .clm = ");
+ builder.append(" (").append(getClm()).append(" )\n");
+ builder.append(" .unused2 = ");
+ builder.append(" (").append(getUnused2()).append(" )\n");
+ builder.append(" .dmOrientPage = ");
+ builder.append(" (").append(getDmOrientPage()).append(" )\n");
+ builder.append(" .iHeadingPgn = ");
+ builder.append(" (").append(getIHeadingPgn()).append(" )\n");
+ builder.append(" .pgnStart = ");
+ builder.append(" (").append(getPgnStart()).append(" )\n");
+ builder.append(" .lnnMin = ");
+ builder.append(" (").append(getLnnMin()).append(" )\n");
+ builder.append(" .wTextFlow = ");
+ builder.append(" (").append(getWTextFlow()).append(" )\n");
+ builder.append(" .unused3 = ");
+ builder.append(" (").append(getUnused3()).append(" )\n");
+ builder.append(" .pgbProp = ");
+ builder.append(" (").append(getPgbProp()).append(" )\n");
+ builder.append(" .unused4 = ");
+ builder.append(" (").append(getUnused4()).append(" )\n");
+ builder.append(" .xaPage = ");
+ builder.append(" (").append(getXaPage()).append(" )\n");
+ builder.append(" .yaPage = ");
+ builder.append(" (").append(getYaPage()).append(" )\n");
+ builder.append(" .xaPageNUp = ");
+ builder.append(" (").append(getXaPageNUp()).append(" )\n");
+ builder.append(" .yaPageNUp = ");
+ builder.append(" (").append(getYaPageNUp()).append(" )\n");
+ builder.append(" .dxaLeft = ");
+ builder.append(" (").append(getDxaLeft()).append(" )\n");
+ builder.append(" .dxaRight = ");
+ builder.append(" (").append(getDxaRight()).append(" )\n");
+ builder.append(" .dyaTop = ");
+ builder.append(" (").append(getDyaTop()).append(" )\n");
+ builder.append(" .dyaBottom = ");
+ builder.append(" (").append(getDyaBottom()).append(" )\n");
+ builder.append(" .dzaGutter = ");
+ builder.append(" (").append(getDzaGutter()).append(" )\n");
+ builder.append(" .dyaHdrTop = ");
+ builder.append(" (").append(getDyaHdrTop()).append(" )\n");
+ builder.append(" .dyaHdrBottom = ");
+ builder.append(" (").append(getDyaHdrBottom()).append(" )\n");
+ builder.append(" .ccolM1 = ");
+ builder.append(" (").append(getCcolM1()).append(" )\n");
+ builder.append(" .fEvenlySpaced = ");
+ builder.append(" (").append(getFEvenlySpaced()).append(" )\n");
+ builder.append(" .unused5 = ");
+ builder.append(" (").append(getUnused5()).append(" )\n");
+ builder.append(" .dxaColumns = ");
+ builder.append(" (").append(getDxaColumns()).append(" )\n");
+ builder.append(" .rgdxaColumn = ");
+ builder.append(" (").append(getRgdxaColumn()).append(" )\n");
+ builder.append(" .dxaColumnWidth = ");
+ builder.append(" (").append(getDxaColumnWidth()).append(" )\n");
+ builder.append(" .dmOrientFirst = ");
+ builder.append(" (").append(getDmOrientFirst()).append(" )\n");
+ builder.append(" .fLayout = ");
+ builder.append(" (").append(getFLayout()).append(" )\n");
+ builder.append(" .unused6 = ");
+ builder.append(" (").append(getUnused6()).append(" )\n");
+ builder.append(" .olstAnm = ");
+ builder.append(" (").append(getOlstAnm()).append(" )\n");
+
+ builder.append("[/SEP]\n");
+ return builder.toString();
+ }
+
+ /**
+ * Break code.
+ *
+ * @return One of
+ * <li>{@link #BKC_NO_BREAK}
+ * <li>{@link #BKC_NEW_COLUMN}
+ * <li>{@link #BKC_NEW_PAGE}
+ * <li>{@link #BKC_EVEN_PAGE}
+ * <li>{@link #BKC_ODD_PAGE}
*/
public byte getBkc()
{
}
/**
- * Set the bkc field for the SEP record.
+ * Break code.
+ *
+ * @param field_1_bkc
+ * One of
+ * <li>{@link #BKC_NO_BREAK}
+ * <li>{@link #BKC_NEW_COLUMN}
+ * <li>{@link #BKC_NEW_PAGE}
+ * <li>{@link #BKC_EVEN_PAGE}
+ * <li>{@link #BKC_ODD_PAGE}
*/
public void setBkc(byte field_1_bkc)
{
}
/**
- * Get the fTitlePage field for the SEP record.
+ * Set to 1 when a title page is to be displayed.
*/
public boolean getFTitlePage()
{
}
/**
- * Set the fTitlePage field for the SEP record.
+ * Set to 1 when a title page is to be displayed.
*/
public void setFTitlePage(boolean field_2_fTitlePage)
{
}
/**
- * Get the fAutoPgn field for the SEP record.
+ * Only for Macintosh compatibility, used only during open, when 1, sep.dxaPgn and sep.dyaPgn are valid page number locations.
*/
public boolean getFAutoPgn()
{
}
/**
- * Set the fAutoPgn field for the SEP record.
+ * Only for Macintosh compatibility, used only during open, when 1, sep.dxaPgn and sep.dyaPgn are valid page number locations.
*/
public void setFAutoPgn(boolean field_3_fAutoPgn)
{
}
/**
- * Get the nfcPgn field for the SEP record.
+ * Page number format code.
+ *
+ * @return One of
+ * <li>{@link #NFCPGN_ARABIC}
+ * <li>{@link #NFCPGN_ROMAN_UPPER_CASE}
+ * <li>{@link #NFCPGN_ROMAN_LOWER_CASE}
+ * <li>{@link #NFCPGN_LETTER_UPPER_CASE}
+ * <li>{@link #NFCPGN_LETTER_LOWER_CASE}
*/
public byte getNfcPgn()
{
}
/**
- * Set the nfcPgn field for the SEP record.
+ * Page number format code.
+ *
+ * @param field_4_nfcPgn
+ * One of
+ * <li>{@link #NFCPGN_ARABIC}
+ * <li>{@link #NFCPGN_ROMAN_UPPER_CASE}
+ * <li>{@link #NFCPGN_ROMAN_LOWER_CASE}
+ * <li>{@link #NFCPGN_LETTER_UPPER_CASE}
+ * <li>{@link #NFCPGN_LETTER_LOWER_CASE}
*/
public void setNfcPgn(byte field_4_nfcPgn)
{
/**
* Get the dmOrientPage field for the SEP record.
+ *
+ * @return One of
+ * <li>{@link #DMORIENTPAGE_LANDSCAPE}
+ * <li>{@link #DMORIENTPAGE_PORTRAIT}
*/
- public byte getDmOrientPage()
+ public boolean getDmOrientPage()
{
return field_31_dmOrientPage;
}
/**
* Set the dmOrientPage field for the SEP record.
+ *
+ * @param field_31_dmOrientPage
+ * One of
+ * <li>{@link #DMORIENTPAGE_LANDSCAPE}
+ * <li>{@link #DMORIENTPAGE_PORTRAIT}
*/
- public void setDmOrientPage(byte field_31_dmOrientPage)
+ public void setDmOrientPage(boolean field_31_dmOrientPage)
{
this.field_31_dmOrientPage = field_31_dmOrientPage;
}
this.field_59_olstAnm = field_59_olstAnm;
}
-
} // END OF CLASS
-
-
-
-
<?xml version="1.0"?>
<!--
- ====================================================================
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
+ ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
+ http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ====================================================================
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ====================================================================
-->
-<record id="0x101B" name="SEP" package="org.apache.poi.hwpf.model.types">
+<record id="0x101B" name="SEP" fromfile="false" package="org.apache.poi.hwpf.model.types">
<suffix>AbstractType</suffix>
<extends>HDFType</extends>
<description>Section Properties.</description>
<author>S. Ryan Ackley</author>
<fields>
- <field type="byte" size="1" name="bkc"/>
- <field type="boolean" size="0" name="fTitlePage"/>
- <field type="boolean" size="0" name="fAutoPgn"/>
- <field type="byte" size="1" name="nfcPgn"/>
- <field type="boolean" size="0" name="fUnlocked"/>
- <field type="byte" size="1" name="cnsPgn"/>
- <field type="boolean" size="0" name="fPgnRestart"/>
- <field type="boolean" size="0" name="fEndNote"/>
- <field type="byte" size="1" name="lnc"/>
- <field type="byte" size="1" name="grpfIhdt"/>
- <field type="int" size="2" name="nLnnMod"/>
- <field type="int" size="4" name="dxaLnn"/>
- <field type="int" size="2" name="dxaPgn"/>
- <field type="int" size="2" name="dyaPgn"/>
- <field type="boolean" size="0" name="fLBetween"/>
- <field type="byte" size="1" name="vjc"/>
- <field type="int" size="2" name="dmBinFirst"/>
- <field type="int" size="2" name="dmBinOther"/>
- <field type="int" size="2" name="dmPaperReq"/>
- <field type="BorderCode" size="4" name="brcTop"/>
- <field type="BorderCode" size="4" name="brcLeft"/>
- <field type="BorderCode" size="4" name="brcBottom"/>
- <field type="BorderCode" size="4" name="brcRight"/>
- <field type="boolean" size="0" name="fPropMark"/>
- <field type="int" size="2" name="ibstPropRMark"/>
- <field type="DateAndTime" size="4" name="dttmPropRMark"/>
- <field type="int" size="4" name="dxtCharSpace"/>
- <field type="int" size="4" name="dyaLinePitch"/>
- <field type="int" size="2" name="clm"/>
- <field type="int" size="2" name="unused2"/>
- <field type="byte" size="1" name="dmOrientPage"/>
- <field type="byte" size="1" name="iHeadingPgn"/>
- <field type="int" size="2" name="pgnStart"/>
- <field type="int" size="2" name="lnnMin"/>
- <field type="int" size="2" name="wTextFlow"/>
- <field type="short" size="2" name="unused3"/>
- <field type="int" size="2" name="pgbProp"/>
- <field type="short" size="2" name="unused4"/>
- <field type="int" size="4" name="xaPage"/>
- <field type="int" size="4" name="yaPage"/>
- <field type="int" size="4" name="xaPageNUp"/>
- <field type="int" size="4" name="yaPageNUp"/>
- <field type="int" size="4" name="dxaLeft"/>
- <field type="int" size="4" name="dxaRight"/>
- <field type="int" size="4" name="dyaTop"/>
- <field type="int" size="4" name="dyaBottom"/>
- <field type="int" size="4" name="dzaGutter"/>
- <field type="int" size="4" name="dyaHdrTop"/>
- <field type="int" size="4" name="dyaHdrBottom"/>
- <field type="int" size="2" name="ccolM1"/>
- <field type="boolean" size="0" name="fEvenlySpaced"/>
- <field type="byte" size="1" name="unused5"/>
- <field type="int" size="4" name="dxaColumns"/>
- <field type="int[]" size="356" name="rgdxaColumn"/>
- <field type="int" size="4" name="dxaColumnWidth"/>
- <field type="byte" size="1" name="dmOrientFirst"/>
- <field type="byte" size="1" name="fLayout"/>
- <field type="short" size="2" name="unused6"/>
- <field type="byte[]" size="212" name="olstAnm"/>
+ <field type="byte" size="1" name="bkc" default="2" description="Break code">
+ <const type="byte" value="0" name="NO_BREAK" description="No break"/>
+ <const type="byte" value="1" name="NEW_COLUMN" description="New column"/>
+ <const type="byte" value="2" name="NEW_PAGE" description="New page"/>
+ <const type="byte" value="3" name="EVEN_PAGE" description="Even page"/>
+ <const type="byte" value="4" name="ODD_PAGE" description="Odd page"/>
+ </field>
+ <field type="boolean" size="1" name="fTitlePage" description="Set to 1 when a title page is to be displayed"/>
+ <field type="boolean" size="1" name="fAutoPgn"
+ description="Only for Macintosh compatibility, used only during open, when 1, sep.dxaPgn and sep.dyaPgn are valid page number locations"/>
+ <field type="byte" size="1" name="nfcPgn" description="Page number format code">
+ <const type="byte" name="ARABIC" value="0" description="Arabic"/>
+ <const type="byte" name="ROMAN_UPPER_CASE" value="1" description="Roman (upper case)"/>
+ <const type="byte" name="ROMAN_LOWER_CASE" value="2" description="Roman (lower case)"/>
+ <const type="byte" name="LETTER_UPPER_CASE" value="3" description="Letter (upper case)"/>
+ <const type="byte" name="LETTER_LOWER_CASE" value="4" description="Letter (lower case)"/>
+ </field>
+ <field type="boolean" size="1" name="fUnlocked"/>
+ <field type="byte" size="1" name="cnsPgn"/>
+ <field type="boolean" size="1" name="fPgnRestart"/>
+ <field type="boolean" size="1" default="true" name="fEndNote"/>
+ <field type="byte" size="1" name="lnc"/>
+ <field type="byte" size="1" name="grpfIhdt"/>
+ <field type="int" size="2" name="nLnnMod"/>
+ <field type="int" size="4" name="dxaLnn"/>
+ <field type="int" size="2" default="720" name="dxaPgn"/>
+ <field type="int" size="2" default="720" name="dyaPgn"/>
+ <field type="boolean" size="0" name="fLBetween"/>
+ <field type="byte" size="1" name="vjc"/>
+ <field type="int" size="2" name="dmBinFirst"/>
+ <field type="int" size="2" name="dmBinOther"/>
+ <field type="int" size="2" name="dmPaperReq"/>
+ <field type="BorderCode" size="4" name="brcTop"/>
+ <field type="BorderCode" size="4" name="brcLeft"/>
+ <field type="BorderCode" size="4" name="brcBottom"/>
+ <field type="BorderCode" size="4" name="brcRight"/>
+ <field type="boolean" size="1" name="fPropMark"/>
+ <field type="int" size="2" name="ibstPropRMark"/>
+ <field type="DateAndTime" size="4" name="dttmPropRMark"/>
+ <field type="int" size="4" name="dxtCharSpace"/>
+ <field type="int" size="4" name="dyaLinePitch"/>
+ <field type="int" size="2" name="clm"/>
+ <field type="int" size="2" name="unused2"/>
+ <field type="boolean" size="1" default="true" name="dmOrientPage">
+ <const type="boolean" name="LANDSCAPE" value="false"/>
+ <const type="boolean" name="PORTRAIT" value="true"/>
+ </field>
+ <field type="byte" size="1" name="iHeadingPgn"/>
+ <field type="int" size="2" default="1" name="pgnStart"/>
+ <field type="int" size="2" name="lnnMin"/>
+ <field type="int" size="2" name="wTextFlow"/>
+ <field type="short" size="2" name="unused3"/>
+ <field type="int" size="2" name="pgbProp"/>
+ <field type="short" size="2" name="unused4"/>
+ <field type="int" size="4" default="12240" name="xaPage"/>
+ <field type="int" size="4" default="15840" name="yaPage"/>
+ <field type="int" size="4" default="12240" name="xaPageNUp"/>
+ <field type="int" size="4" default="15840" name="yaPageNUp"/>
+ <field type="int" size="4" default="1800" name="dxaLeft"/>
+ <field type="int" size="4" default="1800" name="dxaRight"/>
+ <field type="int" size="4" default="1440" name="dyaTop"/>
+ <field type="int" size="4" default="1440" name="dyaBottom"/>
+ <field type="int" size="4" name="dzaGutter"/>
+ <field type="int" size="4" default="720" name="dyaHdrTop"/>
+ <field type="int" size="4" default="720" name="dyaHdrBottom"/>
+ <field type="int" size="2" name="ccolM1"/>
+ <field type="boolean" size="0" default="true" name="fEvenlySpaced"/>
+ <field type="byte" size="1" name="unused5"/>
+ <field type="int" size="4" default="720" name="dxaColumns"/>
+ <field type="int[]" size="356" name="rgdxaColumn"/>
+ <field type="int" size="4" name="dxaColumnWidth"/>
+ <field type="byte" size="1" name="dmOrientFirst"/>
+ <field type="byte" size="1" name="fLayout"/>
+ <field type="short" size="2" name="unused6"/>
+ <field type="byte[]" size="212" name="olstAnm"/>
</fields>
</record>
package <xsl:value-of select="@package"/>;
</xsl:if>
-
import org.apache.poi.util.BitField;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.StringUtil;
import org.apache.poi.util.HexDump;
-import org.apache.poi.hdf.model.hdftypes.HDFType;
import org.apache.poi.hwpf.usermodel.*;
/**
* <xsl:value-of select="/record/description"/>
* NOTE: This source is automatically generated please do not modify this file. Either subclass or
- * remove the record in src/records/definitions.
-<xsl:apply-templates select="author"/>
+ * remove the record in src/types/definitions.
+<xsl:apply-templates select="author"/><xsl:text>
*/
-public abstract class <xsl:value-of select="@name"/>AbstractType
- implements HDFType
+public abstract class </xsl:text><xsl:value-of select="@name"/><xsl:text>AbstractType
{
-<xsl:for-each select="//fields/field"> protected <xsl:value-of select="@type"/><xsl:text> field_</xsl:text><xsl:value-of select="position()"/>_<xsl:value-of select="@name"/>;
-<xsl:apply-templates select="./bit|./const"/>
-</xsl:for-each>
+</xsl:text>
+ <xsl:for-each select="//fields/field">
+ <xsl:call-template name="indent"/>
+ <xsl:text>protected </xsl:text>
+ <xsl:value-of select="@type"/>
+ <xsl:text> field_</xsl:text>
+ <xsl:value-of select="position()"/>
+ <xsl:text>_</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text>;</xsl:text>
+ <xsl:call-template name="linebreak"/>
+ <xsl:apply-templates select="./bit|./const"/>
+ </xsl:for-each>
- public <xsl:value-of select="@name"/>AbstractType()
- {
-<xsl:for-each select="//fields/field"><xsl:if test="@default">
-<xsl:text> </xsl:text>
-<xsl:value-of select="recutil:getFieldName(position(),@name,0)"/> = <xsl:value-of select="@default"/>;
-</xsl:if></xsl:for-each>
- }
-<xsl:if test='//@fromfile="true"'>
- protected void fillFields(byte [] data, int offset)
- {
+ <xsl:call-template name="linebreak"/>
+
+ <xsl:call-template name="indent"/>
+ <xsl:text>protected </xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text>AbstractType()</xsl:text>
+ <xsl:call-template name="linebreak"/>
+ <xsl:call-template name="indent"/>
+ <xsl:text>{</xsl:text>
+ <xsl:call-template name="linebreak"/>
+ <xsl:for-each select="//fields/field">
+ <!-- we don't include @default condition in for-each to preserve position() -->
+ <xsl:if test="@default">
+ <xsl:call-template name="indent"/>
+ <xsl:call-template name="indent"/>
+ <xsl:text>this.</xsl:text>
+ <xsl:value-of select="recutil:getFieldName(position(),@name,0)"/>
+ <xsl:text> = </xsl:text>
+ <xsl:value-of select="@default"/>
+ <xsl:text>;</xsl:text>
+ <xsl:call-template name="linebreak"/>
+ </xsl:if>
+ </xsl:for-each>
+ <xsl:call-template name="indent"/>
+ <xsl:text>}</xsl:text>
+ <xsl:call-template name="linebreak"/>
+ <xsl:call-template name="linebreak"/>
+
+ <xsl:if test='/@fromfile="true"'>
+ protected void fillFields(byte[] data, int offset)
+ {
<xsl:variable name="fieldIterator" select="field:new()"/>
<xsl:for-each select="//fields/field">
<xsl:text> </xsl:text><xsl:value-of select="recutil:getFieldName(position(),@name,30)"/> = <xsl:value-of select="field:fillDecoder($fieldIterator,@size,@type)"/>;
<xsl:text> </xsl:text><xsl:value-of select="field:serialiseEncoder($fieldIterator,position(),@name,@size,@type)"/>;
</xsl:for-each>
}
-</xsl:if>
-
- public String toString()
- {
- StringBuffer buffer = new StringBuffer();
-
- buffer.append("[<xsl:value-of select="@name"/>]\n");
-<xsl:apply-templates select="//field" mode="tostring"/>
- buffer.append("[/<xsl:value-of select="@name"/>]\n");
- return buffer.toString();
- }
/**
* Size of record (exluding 4 byte header)
<xsl:value-of select="field:calcSize($fieldIterator,position(),@name,@size,@type)"/>
</xsl:for-each>;
}
+</xsl:if>
+ <xsl:call-template name="linebreak"/>
+ <xsl:call-template name="indent"/>
+ <xsl:text>public String toString()
+ {
+ StringBuilder builder = new StringBuilder();
+</xsl:text>
+ <xsl:call-template name="indent"/>
+ <xsl:call-template name="indent"/>
+ <xsl:text>builder.append("[</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text>]\n");</xsl:text>
+ <xsl:call-template name="linebreak"/>
+ <xsl:apply-templates select="//field" mode="tostring"/>
+ <xsl:call-template name="linebreak"/>
+ <xsl:call-template name="indent"/>
+ <xsl:call-template name="indent"/>
+ <xsl:text>builder.append("[/</xsl:text>
+ <xsl:value-of select="@name"/>
+ <xsl:text>]\n");
+ return builder.toString();
+ }
+</xsl:text>
<xsl:apply-templates select="//field" mode="getset"/>
<xsl:apply-templates select="//field" mode="bits"/>
-
+<xsl:text>
} // END OF CLASS
-
-
-
-
+</xsl:text>
</xsl:template>
<xsl:template match = "field" mode="bits">
<xsl:template match = "bit" > private static BitField <xsl:value-of select="@name"/> = new BitField(<xsl:value-of select="@mask"/>);
</xsl:template>
-<xsl:template match = "const"> public final static <xsl:value-of select="@type"/><xsl:text> </xsl:text><xsl:value-of select="@name"/> = <xsl:value-of select="@value"/>;
-</xsl:template>
-<xsl:template match = "const" mode="listconsts">
-<xsl:text>
- * </xsl:text>
-<xsl:value-of select="recutil:getConstName(../@name,@name,0)"/></xsl:template>
+ <xsl:template match="const">
+ <xsl:if test="@description">
+ <xsl:call-template name="indent"/>
+ <xsl:text>/** </xsl:text>
+ <xsl:value-of select="@description"/>
+ <xsl:text> */</xsl:text>
+ <xsl:call-template name="linebreak"/>
+ </xsl:if>
+ <xsl:call-template name="indent"/>
+ <xsl:text>/**/</xsl:text>
+ <xsl:text>public final static </xsl:text>
+ <xsl:value-of select="@type"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="recutil:getConstName(../@name,@name,0)"/>
+ <xsl:text> = </xsl:text>
+ <xsl:value-of select="@value"/>
+ <xsl:text>;</xsl:text>
+ <xsl:call-template name="linebreak"/>
+ </xsl:template>
+
+ <xsl:template match="const" mode="listconsts">
+ <xsl:call-template name="linebreak"/>
+ <xsl:call-template name="indent"/>
+ <xsl:text> * <li>{@link #</xsl:text>
+ <xsl:value-of select="recutil:getConstName(../@name,@name,0)"/>
+ <xsl:text>}</xsl:text>
+ </xsl:template>
+
+ <xsl:template name="linebreak">
+ <xsl:text>
+</xsl:text>
+ </xsl:template>
+
+ <xsl:template name="indent">
+ <xsl:text> </xsl:text>
+ </xsl:template>
+
<xsl:template match="field" mode="getset">
/**
* <xsl:choose>
}
</xsl:template>
-<xsl:template match="field" mode="tostring">
- buffer.append(" .<xsl:value-of select="recutil:getFieldName(@name,20)"/> = ");
- buffer.append(" (").append(get<xsl:value-of select="recutil:getFieldName1stCap(@name,0)"/>()).append(" )\n");
-<xsl:apply-templates select="bit" mode="bittostring"/>
-</xsl:template>
+ <xsl:template match="field" mode="tostring">
+ <xsl:call-template name="indent"/>
+ <xsl:call-template name="indent"/>
+ <xsl:text>builder.append(" .</xsl:text>
+ <xsl:value-of select="recutil:getFieldName(@name,20)"/>
+ <xsl:text> = ");</xsl:text>
+ <xsl:call-template name="linebreak"/>
+ <xsl:call-template name="indent"/>
+ <xsl:call-template name="indent"/>
+ <xsl:text>builder.append(" (").append(get</xsl:text>
+ <xsl:value-of select="recutil:getFieldName1stCap(@name,0)"/>
+ <xsl:text>()).append(" )\n");</xsl:text>
+ <xsl:apply-templates select="bit" mode="bittostring"/>
+ <xsl:call-template name="linebreak"/>
+ </xsl:template>
<xsl:template match="bit" mode="bittostring"> buffer.append(" .<xsl:value-of select="recutil:getFieldName(@name,20)"/> = ").append(<xsl:value-of select="recutil:getBitFieldFunction(@name, @mask, ../@type, 'false')"/>()).append('\n');
</xsl:template>