📄 dopabstracttype.java
字号:
/* ==================================================================== Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.==================================================================== */ package org.apache.poi.hdf.model.hdftypes.definitions;import org.apache.poi.util.BitField;import org.apache.poi.util.BitFieldFactory;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;/** * Document Properties. * NOTE: This source is automatically generated please do not modify this file. Either subclass or * remove the record in src/records/definitions. * @author S. Ryan Ackley */public abstract class DOPAbstractType implements HDFType{ private byte field_1_formatFlags; private static BitField fFacingPages = BitFieldFactory.getInstance(0x01); private static BitField fWidowControl = BitFieldFactory.getInstance(0x02); private static BitField fPMHMainDoc = BitFieldFactory.getInstance(0x04); private static BitField grfSupression = BitFieldFactory.getInstance(0x18); private static BitField fpc = BitFieldFactory.getInstance(0x60); private static BitField unused1 = BitFieldFactory.getInstance(0x80); private byte field_2_unused2; private short field_3_footnoteInfo; private static BitField rncFtn = BitFieldFactory.getInstance(0x0003); private static BitField nFtn = BitFieldFactory.getInstance(0xfffc); private byte field_4_fOutlineDirtySave; private byte field_5_docinfo; private static BitField fOnlyMacPics = BitFieldFactory.getInstance(0x01); private static BitField fOnlyWinPics = BitFieldFactory.getInstance(0x02); private static BitField fLabelDoc = BitFieldFactory.getInstance(0x04); private static BitField fHyphCapitals = BitFieldFactory.getInstance(0x08); private static BitField fAutoHyphen = BitFieldFactory.getInstance(0x10); private static BitField fFormNoFields = BitFieldFactory.getInstance(0x20); private static BitField fLinkStyles = BitFieldFactory.getInstance(0x40); private static BitField fRevMarking = BitFieldFactory.getInstance(0x80); private byte field_6_docinfo1; private static BitField fBackup = BitFieldFactory.getInstance(0x01); private static BitField fExactCWords = BitFieldFactory.getInstance(0x02); private static BitField fPagHidden = BitFieldFactory.getInstance(0x04); private static BitField fPagResults = BitFieldFactory.getInstance(0x08); private static BitField fLockAtn = BitFieldFactory.getInstance(0x10); private static BitField fMirrorMargins = BitFieldFactory.getInstance(0x20); private static BitField unused3 = BitFieldFactory.getInstance(0x40); private static BitField fDfltTrueType = BitFieldFactory.getInstance(0x80); private byte field_7_docinfo2; private static BitField fPagSupressTopSpacing = BitFieldFactory.getInstance(0x01); private static BitField fProtEnabled = BitFieldFactory.getInstance(0x02); private static BitField fDispFormFldSel = BitFieldFactory.getInstance(0x04); private static BitField fRMView = BitFieldFactory.getInstance(0x08); private static BitField fRMPrint = BitFieldFactory.getInstance(0x10); private static BitField unused4 = BitFieldFactory.getInstance(0x20); private static BitField fLockRev = BitFieldFactory.getInstance(0x40); private static BitField fEmbedFonts = BitFieldFactory.getInstance(0x80); private short field_8_docinfo3; private static BitField oldfNoTabForInd = BitFieldFactory.getInstance(0x0001); private static BitField oldfNoSpaceRaiseLower = BitFieldFactory.getInstance(0x0002); private static BitField oldfSuppressSpbfAfterPageBreak = BitFieldFactory.getInstance(0x0004); private static BitField oldfWrapTrailSpaces = BitFieldFactory.getInstance(0x0008); private static BitField oldfMapPrintTextColor = BitFieldFactory.getInstance(0x0010); private static BitField oldfNoColumnBalance = BitFieldFactory.getInstance(0x0020); private static BitField oldfConvMailMergeEsc = BitFieldFactory.getInstance(0x0040); private static BitField oldfSupressTopSpacing = BitFieldFactory.getInstance(0x0080); private static BitField oldfOrigWordTableRules = BitFieldFactory.getInstance(0x0100); private static BitField oldfTransparentMetafiles = BitFieldFactory.getInstance(0x0200); private static BitField oldfShowBreaksInFrames = BitFieldFactory.getInstance(0x0400); private static BitField oldfSwapBordersFacingPgs = BitFieldFactory.getInstance(0x0800); private static BitField unused5 = BitFieldFactory.getInstance(0xf000); private int field_9_dxaTab; private int field_10_wSpare; private int field_11_dxaHotz; private int field_12_cConsexHypLim; private int field_13_wSpare2; private int field_14_dttmCreated; private int field_15_dttmRevised; private int field_16_dttmLastPrint; private int field_17_nRevision; private int field_18_tmEdited; private int field_19_cWords; private int field_20_cCh; private int field_21_cPg; private int field_22_cParas; private short field_23_Edn; private static BitField rncEdn = BitFieldFactory.getInstance(0x0003); private static BitField nEdn = BitFieldFactory.getInstance(0xfffc); private short field_24_Edn1; private static BitField epc = BitFieldFactory.getInstance(0x0003); private static BitField nfcFtnRef1 = BitFieldFactory.getInstance(0x003c); private static BitField nfcEdnRef1 = BitFieldFactory.getInstance(0x03c0); private static BitField fPrintFormData = BitFieldFactory.getInstance(0x0400); private static BitField fSaveFormData = BitFieldFactory.getInstance(0x0800); private static BitField fShadeFormData = BitFieldFactory.getInstance(0x1000); private static BitField fWCFtnEdn = BitFieldFactory.getInstance(0x8000); private int field_25_cLines; private int field_26_cWordsFtnEnd; private int field_27_cChFtnEdn; private short field_28_cPgFtnEdn; private int field_29_cParasFtnEdn; private int field_30_cLinesFtnEdn; private int field_31_lKeyProtDoc; private short field_32_view; private static BitField wvkSaved = BitFieldFactory.getInstance(0x0007); private static BitField wScaleSaved = BitFieldFactory.getInstance(0x0ff8); private static BitField zkSaved = BitFieldFactory.getInstance(0x3000); private static BitField fRotateFontW6 = BitFieldFactory.getInstance(0x4000); private static BitField iGutterPos = BitFieldFactory.getInstance(0x8000); private int field_33_docinfo4; private static BitField fNoTabForInd = BitFieldFactory.getInstance(0x00000001); private static BitField fNoSpaceRaiseLower = BitFieldFactory.getInstance(0x00000002); private static BitField fSupressSpdfAfterPageBreak = BitFieldFactory.getInstance(0x00000004); private static BitField fWrapTrailSpaces = BitFieldFactory.getInstance(0x00000008); private static BitField fMapPrintTextColor = BitFieldFactory.getInstance(0x00000010); private static BitField fNoColumnBalance = BitFieldFactory.getInstance(0x00000020); private static BitField fConvMailMergeEsc = BitFieldFactory.getInstance(0x00000040); private static BitField fSupressTopSpacing = BitFieldFactory.getInstance(0x00000080); private static BitField fOrigWordTableRules = BitFieldFactory.getInstance(0x00000100); private static BitField fTransparentMetafiles = BitFieldFactory.getInstance(0x00000200); private static BitField fShowBreaksInFrames = BitFieldFactory.getInstance(0x00000400); private static BitField fSwapBordersFacingPgs = BitFieldFactory.getInstance(0x00000800); private static BitField fSuppressTopSPacingMac5 = BitFieldFactory.getInstance(0x00010000); private static BitField fTruncDxaExpand = BitFieldFactory.getInstance(0x00020000); private static BitField fPrintBodyBeforeHdr = BitFieldFactory.getInstance(0x00040000); private static BitField fNoLeading = BitFieldFactory.getInstance(0x00080000); private static BitField fMWSmallCaps = BitFieldFactory.getInstance(0x00200000); private short field_34_adt; private byte[] field_35_doptypography; private byte[] field_36_dogrid; private short field_37_docinfo5; private static BitField lvl = BitFieldFactory.getInstance(0x001e); private static BitField fGramAllDone = BitFieldFactory.getInstance(0x0020); private static BitField fGramAllClean = BitFieldFactory.getInstance(0x0040); private static BitField fSubsetFonts = BitFieldFactory.getInstance(0x0080); private static BitField fHideLastVersion = BitFieldFactory.getInstance(0x0100); private static BitField fHtmlDoc = BitFieldFactory.getInstance(0x0200); private static BitField fSnapBorder = BitFieldFactory.getInstance(0x0800); private static BitField fIncludeHeader = BitFieldFactory.getInstance(0x1000); private static BitField fIncludeFooter = BitFieldFactory.getInstance(0x2000); private static BitField fForcePageSizePag = BitFieldFactory.getInstance(0x4000); private static BitField fMinFontSizePag = BitFieldFactory.getInstance(0x8000); private short field_38_docinfo6; private static BitField fHaveVersions = BitFieldFactory.getInstance(0x0001); private static BitField fAutoVersions = BitFieldFactory.getInstance(0x0002); private byte[] field_39_asumyi; private int field_40_cChWS; private int field_41_cChWSFtnEdn; private int field_42_grfDocEvents; private int field_43_virusinfo; private static BitField fVirusPrompted = BitFieldFactory.getInstance(0x0001); private static BitField fVirusLoadSafe = BitFieldFactory.getInstance(0x0002); private static BitField KeyVirusSession30 = BitFieldFactory.getInstance(0xfffffffc); private byte[] field_44_Spare; private int field_45_reserved1; private int field_46_reserved2; private int field_47_cDBC; private int field_48_cDBCFtnEdn; private int field_49_reserved; private short field_50_nfcFtnRef; private short field_51_nfcEdnRef; private short field_52_hpsZoonFontPag; private short field_53_dywDispPag; public DOPAbstractType() { } protected void fillFields(byte [] data, short size, int offset) { field_1_formatFlags = data[ 0x0 + offset ]; field_2_unused2 = data[ 0x1 + offset ]; field_3_footnoteInfo = LittleEndian.getShort(data, 0x2 + offset); field_4_fOutlineDirtySave = data[ 0x4 + offset ]; field_5_docinfo = data[ 0x5 + offset ]; field_6_docinfo1 = data[ 0x6 + offset ]; field_7_docinfo2 = data[ 0x7 + offset ]; field_8_docinfo3 = LittleEndian.getShort(data, 0x8 + offset); field_9_dxaTab = LittleEndian.getShort(data, 0xa + offset); field_10_wSpare = LittleEndian.getShort(data, 0xc + offset); field_11_dxaHotz = LittleEndian.getShort(data, 0xe + offset); field_12_cConsexHypLim = LittleEndian.getShort(data, 0x10 + offset); field_13_wSpare2 = LittleEndian.getShort(data, 0x12 + offset); field_14_dttmCreated = LittleEndian.getInt(data, 0x14 + offset); field_15_dttmRevised = LittleEndian.getInt(data, 0x18 + offset); field_16_dttmLastPrint = LittleEndian.getInt(data, 0x1c + offset); field_17_nRevision = LittleEndian.getShort(data, 0x20 + offset); field_18_tmEdited = LittleEndian.getInt(data, 0x22 + offset); field_19_cWords = LittleEndian.getInt(data, 0x26 + offset); field_20_cCh = LittleEndian.getInt(data, 0x2a + offset); field_21_cPg = LittleEndian.getShort(data, 0x2e + offset); field_22_cParas = LittleEndian.getInt(data, 0x30 + offset); field_23_Edn = LittleEndian.getShort(data, 0x34 + offset); field_24_Edn1 = LittleEndian.getShort(data, 0x36 + offset); field_25_cLines = LittleEndian.getInt(data, 0x38 + offset); field_26_cWordsFtnEnd = LittleEndian.getInt(data, 0x3c + offset); field_27_cChFtnEdn = LittleEndian.getInt(data, 0x40 + offset); field_28_cPgFtnEdn = LittleEndian.getShort(data, 0x44 + offset); field_29_cParasFtnEdn = LittleEndian.getInt(data, 0x46 + offset); field_30_cLinesFtnEdn = LittleEndian.getInt(data, 0x4a + offset); field_31_lKeyProtDoc = LittleEndian.getInt(data, 0x4e + offset); field_32_view = LittleEndian.getShort(data, 0x52 + offset); field_33_docinfo4 = LittleEndian.getInt(data, 0x54 + offset); field_34_adt = LittleEndian.getShort(data, 0x58 + offset); field_35_doptypography = LittleEndian.getByteArray(data, 0x5a + offset,310); field_36_dogrid = LittleEndian.getByteArray(data, 0x190 + offset,10); field_37_docinfo5 = LittleEndian.getShort(data, 0x19a + offset); field_38_docinfo6 = LittleEndian.getShort(data, 0x19c + offset); field_39_asumyi = LittleEndian.getByteArray(data, 0x19e + offset,12); field_40_cChWS = LittleEndian.getInt(data, 0x1aa + offset); field_41_cChWSFtnEdn = LittleEndian.getInt(data, 0x1ae + offset); field_42_grfDocEvents = LittleEndian.getInt(data, 0x1b2 + offset); field_43_virusinfo = LittleEndian.getInt(data, 0x1b6 + offset); field_44_Spare = LittleEndian.getByteArray(data, 0x1ba + offset,30); field_45_reserved1 = LittleEndian.getInt(data, 0x1d8 + offset); field_46_reserved2 = LittleEndian.getInt(data, 0x1dc + offset); field_47_cDBC = LittleEndian.getInt(data, 0x1e0 + offset); field_48_cDBCFtnEdn = LittleEndian.getInt(data, 0x1e4 + offset); field_49_reserved = LittleEndian.getInt(data, 0x1e8 + offset); field_50_nfcFtnRef = LittleEndian.getShort(data, 0x1ec + offset); field_51_nfcEdnRef = LittleEndian.getShort(data, 0x1ee + offset); field_52_hpsZoonFontPag = LittleEndian.getShort(data, 0x1f0 + offset); field_53_dywDispPag = LittleEndian.getShort(data, 0x1f2 + offset); } public void serialize(byte[] data, int offset) { data[ 0x0 + offset] = field_1_formatFlags;; data[ 0x1 + offset] = field_2_unused2;; LittleEndian.putShort(data, 0x2 + offset, (short)field_3_footnoteInfo);; data[ 0x4 + offset] = field_4_fOutlineDirtySave;; data[ 0x5 + offset] = field_5_docinfo;; data[ 0x6 + offset] = field_6_docinfo1;; data[ 0x7 + offset] = field_7_docinfo2;; LittleEndian.putShort(data, 0x8 + offset, (short)field_8_docinfo3);; LittleEndian.putShort(data, 0xa + offset, (short)field_9_dxaTab);; LittleEndian.putShort(data, 0xc + offset, (short)field_10_wSpare);; LittleEndian.putShort(data, 0xe + offset, (short)field_11_dxaHotz);; LittleEndian.putShort(data, 0x10 + offset, (short)field_12_cConsexHypLim);; LittleEndian.putShort(data, 0x12 + offset, (short)field_13_wSpare2);; LittleEndian.putInt(data, 0x14 + offset, field_14_dttmCreated);; LittleEndian.putInt(data, 0x18 + offset, field_15_dttmRevised);; LittleEndian.putInt(data, 0x1c + offset, field_16_dttmLastPrint);; LittleEndian.putShort(data, 0x20 + offset, (short)field_17_nRevision);; LittleEndian.putInt(data, 0x22 + offset, field_18_tmEdited);; LittleEndian.putInt(data, 0x26 + offset, field_19_cWords);; LittleEndian.putInt(data, 0x2a + offset, field_20_cCh);; LittleEndian.putShort(data, 0x2e + offset, (short)field_21_cPg);; LittleEndian.putInt(data, 0x30 + offset, field_22_cParas);; LittleEndian.putShort(data, 0x34 + offset, (short)field_23_Edn);; LittleEndian.putShort(data, 0x36 + offset, (short)field_24_Edn1);; LittleEndian.putInt(data, 0x38 + offset, field_25_cLines);; LittleEndian.putInt(data, 0x3c + offset, field_26_cWordsFtnEnd);; LittleEndian.putInt(data, 0x40 + offset, field_27_cChFtnEdn);; LittleEndian.putShort(data, 0x44 + offset, (short)field_28_cPgFtnEdn);; LittleEndian.putInt(data, 0x46 + offset, field_29_cParasFtnEdn);; LittleEndian.putInt(data, 0x4a + offset, field_30_cLinesFtnEdn);; LittleEndian.putInt(data, 0x4e + offset, field_31_lKeyProtDoc);; LittleEndian.putShort(data, 0x52 + offset, (short)field_32_view);; LittleEndian.putInt(data, 0x54 + offset, field_33_docinfo4);; LittleEndian.putShort(data, 0x58 + offset, (short)field_34_adt);; ; ; LittleEndian.putShort(data, 0x19a + offset, (short)field_37_docinfo5);; LittleEndian.putShort(data, 0x19c + offset, (short)field_38_docinfo6);; ; LittleEndian.putInt(data, 0x1aa + offset, field_40_cChWS);; LittleEndian.putInt(data, 0x1ae + offset, field_41_cChWSFtnEdn);; LittleEndian.putInt(data, 0x1b2 + offset, field_42_grfDocEvents);; LittleEndian.putInt(data, 0x1b6 + offset, field_43_virusinfo);; ; LittleEndian.putInt(data, 0x1d8 + offset, field_45_reserved1);; LittleEndian.putInt(data, 0x1dc + offset, field_46_reserved2);; LittleEndian.putInt(data, 0x1e0 + offset, field_47_cDBC);; LittleEndian.putInt(data, 0x1e4 + offset, field_48_cDBCFtnEdn);; LittleEndian.putInt(data, 0x1e8 + offset, field_49_reserved);; LittleEndian.putShort(data, 0x1ec + offset, (short)field_50_nfcFtnRef);; LittleEndian.putShort(data, 0x1ee + offset, (short)field_51_nfcEdnRef);; LittleEndian.putShort(data, 0x1f0 + offset, (short)field_52_hpsZoonFontPag);; LittleEndian.putShort(data, 0x1f2 + offset, (short)field_53_dywDispPag);; } public String toString() { StringBuffer buffer = new StringBuffer(); buffer.append("[DOP]\n"); buffer.append(" .formatFlags = "); buffer.append("0x"); buffer.append(HexDump.toHex((byte)getFormatFlags())); buffer.append(" (").append(getFormatFlags()).append(" )\n"); buffer.append(" .fFacingPages = ").append(isFFacingPages()).append('\n'); buffer.append(" .fWidowControl = ").append(isFWidowControl()).append('\n'); buffer.append(" .fPMHMainDoc = ").append(isFPMHMainDoc()).append('\n'); buffer.append(" .grfSupression = ").append(getGrfSupression()).append('\n'); buffer.append(" .fpc = ").append(getFpc()).append('\n'); buffer.append(" .unused1 = ").append(isUnused1()).append('\n'); buffer.append(" .unused2 = "); buffer.append("0x"); buffer.append(HexDump.toHex((byte)getUnused2())); buffer.append(" (").append(getUnused2()).append(" )\n"); buffer.append(" .footnoteInfo = "); buffer.append("0x"); buffer.append(HexDump.toHex((short)getFootnoteInfo())); buffer.append(" (").append(getFootnoteInfo()).append(" )\n"); buffer.append(" .rncFtn = ").append(getRncFtn()).append('\n'); buffer.append(" .nFtn = ").append(getNFtn()).append('\n'); buffer.append(" .fOutlineDirtySave = "); buffer.append("0x"); buffer.append(HexDump.toHex((byte)getFOutlineDirtySave())); buffer.append(" (").append(getFOutlineDirtySave()).append(" )\n"); buffer.append(" .docinfo = "); buffer.append("0x"); buffer.append(HexDump.toHex((byte)getDocinfo())); buffer.append(" (").append(getDocinfo()).append(" )\n"); buffer.append(" .fOnlyMacPics = ").append(isFOnlyMacPics()).append('\n'); buffer.append(" .fOnlyWinPics = ").append(isFOnlyWinPics()).append('\n'); buffer.append(" .fLabelDoc = ").append(isFLabelDoc()).append('\n'); buffer.append(" .fHyphCapitals = ").append(isFHyphCapitals()).append('\n'); buffer.append(" .fAutoHyphen = ").append(isFAutoHyphen()).append('\n'); buffer.append(" .fFormNoFields = ").append(isFFormNoFields()).append('\n'); buffer.append(" .fLinkStyles = ").append(isFLinkStyles()).append('\n'); buffer.append(" .fRevMarking = ").append(isFRevMarking()).append('\n'); buffer.append(" .docinfo1 = "); buffer.append("0x"); buffer.append(HexDump.toHex((byte)getDocinfo1())); buffer.append(" (").append(getDocinfo1()).append(" )\n"); buffer.append(" .fBackup = ").append(isFBackup()).append('\n'); buffer.append(" .fExactCWords = ").append(isFExactCWords()).append('\n'); buffer.append(" .fPagHidden = ").append(isFPagHidden()).append('\n'); buffer.append(" .fPagResults = ").append(isFPagResults()).append('\n'); buffer.append(" .fLockAtn = ").append(isFLockAtn()).append('\n'); buffer.append(" .fMirrorMargins = ").append(isFMirrorMargins()).append('\n'); buffer.append(" .unused3 = ").append(isUnused3()).append('\n'); buffer.append(" .fDfltTrueType = ").append(isFDfltTrueType()).append('\n'); buffer.append(" .docinfo2 = "); buffer.append("0x"); buffer.append(HexDump.toHex((byte)getDocinfo2())); buffer.append(" (").append(getDocinfo2()).append(" )\n"); buffer.append(" .fPagSupressTopSpacing = ").append(isFPagSupressTopSpacing()).append('\n'); buffer.append(" .fProtEnabled = ").append(isFProtEnabled()).append('\n'); buffer.append(" .fDispFormFldSel = ").append(isFDispFormFldSel()).append('\n'); buffer.append(" .fRMView = ").append(isFRMView()).append('\n'); buffer.append(" .fRMPrint = ").append(isFRMPrint()).append('\n'); buffer.append(" .unused4 = ").append(isUnused4()).append('\n'); buffer.append(" .fLockRev = ").append(isFLockRev()).append('\n'); buffer.append(" .fEmbedFonts = ").append(isFEmbedFonts()).append('\n'); buffer.append(" .docinfo3 = "); buffer.append("0x"); buffer.append(HexDump.toHex((short)getDocinfo3())); buffer.append(" (").append(getDocinfo3()).append(" )\n"); buffer.append(" .oldfNoTabForInd = ").append(isOldfNoTabForInd()).append('\n'); buffer.append(" .oldfNoSpaceRaiseLower = ").append(isOldfNoSpaceRaiseLower()).append('\n');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -