git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1748328 13f79535-47bb-0310-9956-ffa450edef68tags/REL_3_15_BETA2
@@ -18,13 +18,9 @@ | |||
package org.apache.poi.hssf.record; | |||
/** | |||
* Title: Footer Record (0x0015) <p/> | |||
* Description: Specifies the footer for a sheet<P> | |||
* REFERENCE: PG 317 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* @author Shawn Laubach (slaubach at apache dot org) Modified 3/14/02 | |||
* @author Jason Height (jheight at chariot dot net dot au) | |||
* | |||
* Title: Footer Record (0x0015)<p> | |||
* Description: Specifies the footer for a sheet<p> | |||
* REFERENCE: PG 317 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class FooterRecord extends HeaderFooterBase implements Cloneable { | |||
public final static short sid = 0x0015; |
@@ -22,12 +22,10 @@ import org.apache.poi.util.LittleEndianOutput; | |||
import org.apache.poi.util.StringUtil; | |||
/** | |||
* Title: Format Record (0x041E) <p/> | |||
* Description: describes a number format -- those goofy strings like $(#,###)<p/> | |||
* Title: Format Record (0x041E)<p> | |||
* Description: describes a number format -- those goofy strings like $(#,###)<p> | |||
* | |||
* REFERENCE: PG 317 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* @author Shawn M. Laubach (slaubach at apache dot org) | |||
* REFERENCE: PG 317 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class FormatRecord extends StandardRecord implements Cloneable { | |||
public final static short sid = 0x041E; |
@@ -22,17 +22,16 @@ import org.apache.poi.util.LittleEndianInput; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* ftGmo (0x0006)<p/> | |||
* ftGmo (0x0006)<p> | |||
* The group marker record is used as a position holder for groups. | |||
* @author Glen Stampoultzis (glens at apache.org) | |||
*/ | |||
public final class GroupMarkerSubRecord extends SubRecord implements Cloneable { | |||
public final static short sid = 0x0006; | |||
private static final byte[] EMPTY_BYTE_ARRAY = { }; | |||
private byte[] reserved; // would really love to know what goes in here. | |||
// would really love to know what goes in here. | |||
private byte[] reserved; | |||
public GroupMarkerSubRecord() { | |||
reserved = EMPTY_BYTE_ARRAY; |
@@ -20,10 +20,9 @@ package org.apache.poi.hssf.record; | |||
import java.util.Iterator; | |||
/** | |||
* HorizontalPageBreak (0x001B) record that stores page breaks at rows <p/> | |||
* HorizontalPageBreak (0x001B) record that stores page breaks at rows | |||
* | |||
* @see PageBreakRecord | |||
* @author Danny Mui (dmui at apache dot org) | |||
*/ | |||
public final class HorizontalPageBreakRecord extends PageBreakRecord implements Cloneable { | |||
@@ -33,12 +32,10 @@ public final class HorizontalPageBreakRecord extends PageBreakRecord implements | |||
* Creates an empty horizontal page break record | |||
*/ | |||
public HorizontalPageBreakRecord() { | |||
// | |||
} | |||
/** | |||
* @param in | |||
* the RecordInputstream to read the record from | |||
* @param in the RecordInputstream to read the record from | |||
*/ | |||
public HorizontalPageBreakRecord(RecordInputStream in) { | |||
super(in); |
@@ -21,13 +21,11 @@ import org.apache.poi.util.IntList; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Index Record (0x020B)<p/> | |||
* Title: Index Record (0x020B)<p> | |||
* Description: Occurs right after BOF, tells you where the DBCELL records are for a sheet | |||
* Important for locating cells<p/> | |||
* NOT USED IN THIS RELEASE | |||
* REFERENCE: PG 323 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* @author Jason Height (jheight at chariot dot net dot au) | |||
* Important for locating cells<p> | |||
* | |||
* REFERENCE: PG 323 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class IndexRecord extends StandardRecord implements Cloneable { | |||
public final static short sid = 0x020B; |
@@ -23,14 +23,12 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Iteration Record (0x0011) <p/> | |||
* Description: Tells whether to iterate over forumla calculations or not | |||
* (if a formula is dependant upon another formula's result) | |||
* Title: Iteration Record (0x0011)<p> | |||
* Description: Tells whether to iterate over formula calculations or not | |||
* (if a formula is dependent upon another formula's result) | |||
* (odd feature for something that can only have 32 elements in | |||
* a formula!)<P> | |||
* REFERENCE: PG 325 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* @author Jason Height (jheight at chariot dot net dot au) | |||
* a formula!)<p> | |||
* REFERENCE: PG 325 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class IterationRecord extends StandardRecord implements Cloneable { | |||
public final static short sid = 0x0011; |
@@ -20,9 +20,7 @@ package org.apache.poi.hssf.record; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Record for the left margin.<p/> | |||
* | |||
* @author Shawn Laubach (slaubach at apache dot org) | |||
* Record for the left margin. | |||
*/ | |||
public final class LeftMarginRecord extends StandardRecord implements Margin, Cloneable { | |||
public final static short sid = 0x0026; |
@@ -22,10 +22,9 @@ import org.apache.poi.ss.util.CellRangeAddressList; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Merged Cells Record (0x00E5) | |||
* <br/> | |||
* Description: Optional record defining a square area of cells to "merged" into one cell. <br> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* Title: Merged Cells Record (0x00E5)<p> | |||
* | |||
* Description: Optional record defining a square area of cells to "merged" into one cell. | |||
*/ | |||
public final class MergeCellsRecord extends StandardRecord implements Cloneable { | |||
public final static short sid = 0x00E5; |
@@ -20,12 +20,11 @@ package org.apache.poi.hssf.record; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Multiple Blank cell record(0x00BE) <P/> | |||
* Description: Represents a set of columns in a row with no value but with styling. | |||
* <p/> | |||
* REFERENCE: PG 329 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P/> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* @author Glen Stampoultzis (glens at apache.org) | |||
* Title: Multiple Blank cell record(0x00BE)<p> | |||
* Description: Represents a set of columns in a row with no value but with styling.<p> | |||
* | |||
* REFERENCE: PG 329 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
* | |||
* @see BlankRecord | |||
*/ | |||
public final class MulBlankRecord extends StandardRecord { |
@@ -22,13 +22,13 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* MULRK (0x00BD) <p/> | |||
* MULRK (0x00BD)<p> | |||
* | |||
* Used to store multiple RK numbers on a row. 1 MulRk = Multiple Cell values. | |||
* HSSF just converts this into multiple NUMBER records. READ-ONLY SUPPORT!<P> | |||
* REFERENCE: PG 330 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* @version 2.0-pre | |||
* REFERENCE: PG 330 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
* | |||
* @since 2.0-pre | |||
*/ | |||
public final class MulRKRecord extends StandardRecord { | |||
public final static short sid = 0x00BD; |
@@ -23,14 +23,9 @@ import org.apache.poi.util.LittleEndianOutput; | |||
import org.apache.poi.util.StringUtil; | |||
/** | |||
* Title: NAMECMT Record (0x0894) | |||
* <p/> | |||
* Title: NAMECMT Record (0x0894)<p> | |||
* | |||
* Description: Defines a comment associated with a specified name. | |||
* <P> | |||
* REFERENCE: | |||
* <P> | |||
* | |||
* @author Andrew Shirley (aks at corefiling.co.uk) | |||
*/ | |||
public final class NameCommentRecord extends StandardRecord { | |||
public final static short sid = 0x0894; |
@@ -26,13 +26,8 @@ import org.apache.poi.ss.formula.Formula; | |||
import org.apache.poi.util.*; | |||
/** | |||
* Title: DEFINEDNAME Record (0x0018) <p/> | |||
* Description: Defines a named range within a workbook. <P> | |||
* REFERENCE: <P> | |||
* @author Libin Roman (Vista Portal LDT. Developer) | |||
* @author Sergei Kozello (sergeikozello at mail.ru) | |||
* @author Glen Stampoultzis (glens at apache.org) | |||
* @author Petr Udalau - added method setFunction(boolean) | |||
* Title: DEFINEDNAME Record (0x0018)<p> | |||
* Description: Defines a named range within a workbook. | |||
*/ | |||
public final class NameRecord extends ContinuableRecord { | |||
public final static short sid = 0x0018; |
@@ -21,9 +21,7 @@ import org.apache.poi.util.LittleEndianOutput; | |||
import org.apache.poi.util.StringUtil; | |||
/** | |||
* NOTE: Comment Associated with a Cell (0x001C)<p/> | |||
* | |||
* @author Yegor Kozlov | |||
* NOTE: Comment Associated with a Cell (0x001C) | |||
*/ | |||
public final class NoteRecord extends StandardRecord implements Cloneable { | |||
public final static short sid = 0x001C; |
@@ -22,14 +22,10 @@ import org.apache.poi.util.LittleEndianInput; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* ftNts (0x000D)<p/> | |||
* Represents a NoteStructure sub record. | |||
* ftNts (0x000D)<p> | |||
* Represents a NoteStructure sub record.<p> | |||
* | |||
* <p> | |||
* The docs say nothing about it. The length of this record is always 26 bytes. | |||
* </p> | |||
* | |||
* @author Yegor Kozlov | |||
*/ | |||
public final class NoteStructureSubRecord extends SubRecord implements Cloneable { | |||
public final static short sid = 0x0D; |
@@ -27,11 +27,9 @@ import org.apache.poi.util.LittleEndianByteArrayOutputStream; | |||
import org.apache.poi.util.LittleEndianInputStream; | |||
/** | |||
* OBJRECORD (0x005D)<p/> | |||
* OBJRECORD (0x005D)<p> | |||
* | |||
* The obj record is used to hold various graphic objects and controls. | |||
* | |||
* @author Glen Stampoultzis (glens at apache.org) | |||
*/ | |||
public final class ObjRecord extends Record implements Cloneable { | |||
public final static short sid = 0x005D; |
@@ -22,9 +22,7 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Describes the frozen and unfozen panes.<p/> | |||
* | |||
* @author Glen Stampoultzis (glens at apache.org) | |||
* Describes the frozen and unfrozen panes. | |||
*/ | |||
public final class PaneRecord extends StandardRecord { | |||
public final static short sid = 0x41; |
@@ -22,11 +22,9 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Password Record (0x0013)<p/> | |||
* Title: Password Record (0x0013)<p> | |||
* Description: stores the encrypted password for a sheet or workbook (HSSF doesn't support encryption) | |||
* REFERENCE: PG 371 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* | |||
* REFERENCE: PG 371 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class PasswordRecord extends StandardRecord { | |||
public final static short sid = 0x0013; |
@@ -21,10 +21,9 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Protection Revision 4 password Record (0x01BC) <p/> | |||
* Description: Stores the (2 byte??!!) encrypted password for a shared workbook<p/> | |||
* REFERENCE: PG 374 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* Title: Protection Revision 4 password Record (0x01BC)<p> | |||
* Description: Stores the (2 byte??!!) encrypted password for a shared workbook<p> | |||
* REFERENCE: PG 374 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class PasswordRev4Record extends StandardRecord { | |||
public final static short sid = 0x01BC; |
@@ -23,13 +23,12 @@ import org.apache.poi.util.BitField; | |||
import org.apache.poi.util.BitFieldFactory; | |||
/** | |||
* Title: PAGESETUP (0x00A1)<p/> | |||
* Description: Stores print setup options -- bogus for HSSF (and marked as such)<p/> | |||
* REFERENCE: PG 385 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/> | |||
* REFERENCE: PG 412 Microsoft Excel Binary File Format Structure v20091214<p/> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* @author Jason Height (jheight at chariot dot net dot au) | |||
* @version 2.0-pre | |||
* Title: PAGESETUP (0x00A1)<p> | |||
* Description: Stores print setup options -- bogus for HSSF (and marked as such)<p> | |||
* REFERENCE: PG 385 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p> | |||
* REFERENCE: PG 412 Microsoft Excel Binary File Format Structure v20091214 | |||
* | |||
* @since 2.0-pre | |||
*/ | |||
public final class PrintSetupRecord extends StandardRecord { | |||
public final static short sid = 0x00A1; |
@@ -23,12 +23,11 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Protect Record (0x0012) <p/> | |||
* Description: defines whether a sheet or workbook is protected (HSSF DOES NOT SUPPORT ENCRYPTION)<p/> | |||
* Title: Protect Record (0x0012)<p> | |||
* Description: defines whether a sheet or workbook is protected (HSSF DOES NOT SUPPORT ENCRYPTION)<p> | |||
* HSSF now supports the simple "protected" sheets (where they are not encrypted and open office et al | |||
* ignore the password record entirely). | |||
* REFERENCE: PG 373 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* REFERENCE: PG 373 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class ProtectRecord extends StandardRecord { | |||
public final static short sid = 0x0012; |
@@ -23,10 +23,9 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Protection Revision 4 Record (0x01AF) <p/> | |||
* Description: describes whether this is a protected shared/tracked workbook<p/> | |||
* REFERENCE: PG 373 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* Title: Protection Revision 4 Record (0x01AF)<p> | |||
* Description: describes whether this is a protected shared/tracked workbook<p> | |||
* REFERENCE: PG 373 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class ProtectionRev4Record extends StandardRecord { | |||
public final static short sid = 0x01AF; |
@@ -21,19 +21,16 @@ import org.apache.poi.hssf.util.RKUtil; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: RK Record (0x027E)<p/> | |||
* Title: RK Record (0x027E)<p> | |||
* Description: An internal 32 bit number with the two most significant bits | |||
* storing the type. This is part of a bizarre scheme to save disk | |||
* space and memory (gee look at all the other whole records that | |||
* are in the file just "cause"..,far better to waste processor | |||
* cycles on this then leave on of those "valuable" records out).<p/> | |||
* We support this in READ-ONLY mode. HSSF converts these to NUMBER records<p/> | |||
* cycles on this then leave on of those "valuable" records out).<p> | |||
* We support this in READ-ONLY mode. HSSF converts these to NUMBER records<p> | |||
* | |||
* | |||
* | |||
* REFERENCE: PG 376 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* @author Jason Height (jheight at chariot dot net dot au) | |||
* REFERENCE: PG 376 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
* | |||
* @see org.apache.poi.hssf.record.NumberRecord | |||
*/ | |||
public final class RKRecord extends CellRecord { |
@@ -21,16 +21,15 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Recalc Id Record (0x01C1)<p/> | |||
* Title: Recalc Id Record (0x01C1)<p> | |||
* Description: This record contains an ID that marks when a worksheet was last | |||
* recalculated. It's an optimization Excel uses to determine if it | |||
* needs to recalculate the spreadsheet when it's opened. So far, only | |||
* the two engine ids <code>0x80 0x38 0x01 0x00</code> | |||
* and <code>0x60 0x69 0x01 0x00</code> have been seen. | |||
* A value of <code>0x00</code> will cause Excel to recalculate | |||
* all formulas on the next load.<p/> | |||
* REFERENCE: http://chicago.sourceforge.net/devel/docs/excel/biff8.html<p/> | |||
* @author Luc Girardin (luc dot girardin at macrofocus dot com) | |||
* the two engine ids {@code 0x80 0x38 0x01 0x00} | |||
* and {@code 0x60 0x69 0x01 0x00} have been seen. | |||
* A value of {@code 0x00} will cause Excel to recalculate | |||
* all formulas on the next load.<p> | |||
* REFERENCE: http://chicago.sourceforge.net/devel/docs/excel/biff8.html | |||
*/ | |||
public final class RecalcIdRecord extends StandardRecord { | |||
public final static short sid = 0x01C1; |
@@ -59,8 +59,8 @@ import org.apache.poi.hssf.record.pivottable.ViewFieldsRecord; | |||
import org.apache.poi.hssf.record.pivottable.ViewSourceRecord; | |||
/** | |||
* Title: Record Factory<P> | |||
* Description: Takes a stream and outputs an array of Record objects.<P> | |||
* Title: Record Factory<p> | |||
* Description: Takes a stream and outputs an array of Record objects. | |||
* | |||
* @see org.apache.poi.hssf.eventmodel.EventRecordFactory | |||
*/ | |||
@@ -291,12 +291,12 @@ public final class RecordFactory { | |||
private static short[] _allKnownRecordSIDs; | |||
/** | |||
* Debug / diagnosis method<br/> | |||
* Gets the POI implementation class for a given <tt>sid</tt>. Only a subset of the any BIFF | |||
* Debug / diagnosis method<p> | |||
* Gets the POI implementation class for a given {@code sid}. Only a subset of the any BIFF | |||
* records are actually interpreted by POI. A few others are known but not interpreted | |||
* (see {@link UnknownRecord#getBiffName(int)}). | |||
* @return the POI implementation class for the specified record <tt>sid</tt>. | |||
* <code>null</code> if the specified record is not interpreted by POI. | |||
* @return the POI implementation class for the specified record {@code sid}. | |||
* {@code null} if the specified record is not interpreted by POI. | |||
*/ | |||
public static Class<? extends Record> getRecordClass(int sid) { | |||
I_RecordCreator rc = _recordCreatorsById.get(Integer.valueOf(sid)); |
@@ -23,11 +23,10 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Refresh All Record (0x01B7) <p/> | |||
* Title: Refresh All Record (0x01B7)<p> | |||
* Description: Flag whether to refresh all external data when loading a sheet. | |||
* (which hssf doesn't support anyhow so who really cares?)<P> | |||
* REFERENCE: PG 376 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* (which hssf doesn't support anyhow so who really cares?)<p> | |||
* REFERENCE: PG 376 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class RefreshAllRecord extends StandardRecord { | |||
public final static short sid = 0x01B7; |
@@ -20,9 +20,7 @@ package org.apache.poi.hssf.record; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Record for the right margin.<p/> | |||
* | |||
* @author Shawn Laubach (slaubach at apache dot org) | |||
* Record for the right margin. | |||
*/ | |||
public final class RightMarginRecord extends StandardRecord implements Margin { | |||
public final static short sid = 0x27; |
@@ -23,12 +23,11 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Row Record (0x0208)<P/> | |||
* Description: stores the row information for the sheet. <P/> | |||
* REFERENCE: PG 379 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* @author Jason Height (jheight at chariot dot net dot au) | |||
* @version 2.0-pre | |||
* Title: Row Record (0x0208)<p> | |||
* Description: stores the row information for the sheet.<p> | |||
* REFERENCE: PG 379 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
* | |||
* @since 2.0-pre | |||
*/ | |||
public final class RowRecord extends StandardRecord { | |||
public final static short sid = 0x0208; |
@@ -21,10 +21,8 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Specifies the window's zoom magnification. <p/> | |||
* Specifies the window's zoom magnification.<p> | |||
* If this record isn't present then the windows zoom is 100%. see p384 Excel Dev Kit | |||
* | |||
* @author Andrew C. Oliver (acoliver at apache.org) | |||
*/ | |||
public final class SCLRecord extends StandardRecord { | |||
public final static short sid = 0x00A0; |
@@ -26,13 +26,11 @@ import org.apache.poi.util.IntMapper; | |||
import org.apache.poi.util.LittleEndianConsts; | |||
/** | |||
* Title: Static String Table Record (0x00FC)<p/> | |||
* Title: Static String Table Record (0x00FC)<p> | |||
* | |||
* Description: This holds all the strings for LabelSSTRecords. | |||
* <P> | |||
* REFERENCE: PG 389 Microsoft Excel 97 Developer's Kit (ISBN: | |||
* 1-57231-498-2) | |||
* <P> | |||
* Description: This holds all the strings for LabelSSTRecords.<p> | |||
* | |||
* REFERENCE: PG 389 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
* | |||
* @see org.apache.poi.hssf.record.LabelSSTRecord | |||
* @see org.apache.poi.hssf.record.ContinueRecord | |||
@@ -164,7 +162,7 @@ public final class SSTRecord extends ContinuableRecord { | |||
* The data consists of sets of string data. This string data is | |||
* arranged as follows: | |||
* <P> | |||
* <CODE><pre> | |||
* <pre> | |||
* short string_length; // length of string data | |||
* byte string_flag; // flag specifying special string | |||
* // handling | |||
@@ -177,11 +175,11 @@ public final class SSTRecord extends ContinuableRecord { | |||
* // array is run_count) | |||
* byte[] extension; // optional extension (length of array | |||
* // is extend_length) | |||
* </pre></CODE> | |||
* </pre> | |||
* <P> | |||
* The string_flag is bit mapped as follows: | |||
* <P> | |||
* <TABLE> | |||
* <TABLE summary="string_flag mapping"> | |||
* <TR> | |||
* <TH>Bit number</TH> | |||
* <TH>Meaning if 0</TH> | |||
@@ -190,42 +188,42 @@ public final class SSTRecord extends ContinuableRecord { | |||
* <TR> | |||
* <TD>0</TD> | |||
* <TD>string_data is byte[]</TD> | |||
* <TD>string_data is short[]</TH> | |||
* <TD>string_data is short[]</TD> | |||
* <TR> | |||
* <TR> | |||
* <TD>1</TD> | |||
* <TD>Should always be 0</TD> | |||
* <TD>string_flag is defective</TH> | |||
* <TD>string_flag is defective</TD> | |||
* <TR> | |||
* <TR> | |||
* <TD>2</TD> | |||
* <TD>extension is not included</TD> | |||
* <TD>extension is included</TH> | |||
* <TD>extension is included</TD> | |||
* <TR> | |||
* <TR> | |||
* <TD>3</TD> | |||
* <TD>formatting run data is not included</TD> | |||
* <TD>formatting run data is included</TH> | |||
* <TD>formatting run data is included</TD> | |||
* <TR> | |||
* <TR> | |||
* <TD>4</TD> | |||
* <TD>Should always be 0</TD> | |||
* <TD>string_flag is defective</TH> | |||
* <TD>string_flag is defective</TD> | |||
* <TR> | |||
* <TR> | |||
* <TD>5</TD> | |||
* <TD>Should always be 0</TD> | |||
* <TD>string_flag is defective</TH> | |||
* <TD>string_flag is defective</TD> | |||
* <TR> | |||
* <TR> | |||
* <TD>6</TD> | |||
* <TD>Should always be 0</TD> | |||
* <TD>string_flag is defective</TH> | |||
* <TD>string_flag is defective</TD> | |||
* <TR> | |||
* <TR> | |||
* <TD>7</TD> | |||
* <TD>Should always be 0</TD> | |||
* <TD>string_flag is defective</TH> | |||
* <TD>string_flag is defective</TD> | |||
* <TR> | |||
* </TABLE> | |||
* <P> |
@@ -22,11 +22,9 @@ import org.apache.poi.hssf.record.cont.ContinuableRecordOutput; | |||
import org.apache.poi.util.StringUtil; | |||
/** | |||
* STRING (0x0207)<p/> | |||
* STRING (0x0207)<p> | |||
* | |||
* Stores the cached result of a text formula | |||
* | |||
* @author Glen Stampoultzis (glens at apache.org) | |||
*/ | |||
public final class StringRecord extends ContinuableRecord { | |||
@@ -24,11 +24,9 @@ import org.apache.poi.util.LittleEndianOutput; | |||
import org.apache.poi.util.StringUtil; | |||
/** | |||
* Title: Style Record (0x0293)<p/> | |||
* Description: Describes a builtin to the gui or user defined style<P> | |||
* REFERENCE: PG 390 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* @author aviks : string fixes for UserDefined Style | |||
* Title: Style Record (0x0293)<p> | |||
* Description: Describes a builtin to the gui or user defined style<p> | |||
* REFERENCE: PG 390 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class StyleRecord extends StandardRecord { | |||
public final static short sid = 0x0293; |
@@ -23,13 +23,10 @@ import org.apache.poi.util.POILogger; | |||
import org.apache.poi.util.StringUtil; | |||
/** | |||
* Title: Sup Book - EXTERNALBOOK (0x01AE) <p/> | |||
* Title: Sup Book - EXTERNALBOOK (0x01AE)<p> | |||
* Description: A External Workbook Description (Supplemental Book) | |||
* Its only a dummy record for making new ExternSheet Record <P> | |||
* REFERENCE: 5.38<P> | |||
* @author Libin Roman (Vista Portal LDT. Developer) | |||
* @author Andrew C. Oliver (acoliver@apache.org) | |||
* | |||
* Its only a dummy record for making new ExternSheet Record<p> | |||
* REFERENCE: 5.38 | |||
*/ | |||
public final class SupBookRecord extends StandardRecord { | |||
@@ -20,12 +20,10 @@ package org.apache.poi.hssf.record; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Sheet Tab Index Array Record (0x013D)<p/> | |||
* Title: Sheet Tab Index Array Record (0x013D)<p> | |||
* Description: Contains an array of sheet id's. Sheets always keep their ID | |||
* regardless of what their name is.<p/> | |||
* REFERENCE: PG 412 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* | |||
* regardless of what their name is.<p> | |||
* REFERENCE: PG 412 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class TabIdRecord extends StandardRecord { | |||
public final static short sid = 0x013D; |
@@ -25,7 +25,7 @@ import org.apache.poi.util.BitFieldFactory; | |||
import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* DATATABLE (0x0236)<p/> | |||
* DATATABLE (0x0236)<p> | |||
* | |||
* TableRecord - The record specifies a data table. | |||
* This record is preceded by a single Formula record that |
@@ -22,9 +22,7 @@ import org.apache.poi.util.LittleEndianOutput; | |||
import org.apache.poi.util.StringUtil; | |||
/** | |||
* TABLESTYLES (0x088E)<br/> | |||
* | |||
* @author Patrick Cheng | |||
* TABLESTYLES (0x088E) | |||
*/ | |||
public final class TableStylesRecord extends StandardRecord { | |||
public static final short sid = 0x088E; |
@@ -30,9 +30,7 @@ import org.apache.poi.util.HexDump; | |||
* The TXO record (0x01B6) is used to define the properties of a text box. It is | |||
* followed by two or more continue records unless there is no actual text. The | |||
* first continue records contain the text data and the last continue record | |||
* contains the formatting runs.<p/> | |||
* | |||
* @author Glen Stampoultzis (glens at apache.org) | |||
* contains the formatting runs. | |||
*/ | |||
public final class TextObjectRecord extends ContinuableRecord { | |||
public final static short sid = 0x01B6; |
@@ -20,9 +20,7 @@ package org.apache.poi.hssf.record; | |||
import org.apache.poi.util.*; | |||
/** | |||
* Record for the top margin.<p/> | |||
* | |||
* @author Shawn Laubach (slaubach at apache dot org) | |||
* Record for the top margin. | |||
*/ | |||
public final class TopMarginRecord extends StandardRecord implements Margin { | |||
public final static short sid = 0x28; |
@@ -24,14 +24,11 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Unknown Record (for debugging)<p/> | |||
* Title: Unknown Record (for debugging)<p> | |||
* Description: Unknown record just tells you the sid so you can figure out | |||
* what records you are missing. Also helps us read/modify sheets we | |||
* don't know all the records to. (HSSF leaves these alone!) <p/> | |||
* Company: SuperLink Software, Inc.<P> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* @author Jason Height (jheight at chariot dot net dot au) | |||
* @author Glen Stampoultzis (glens at apache.org) | |||
* don't know all the records to. (HSSF leaves these alone!)<p> | |||
* Company: SuperLink Software, Inc. | |||
*/ | |||
public final class UnknownRecord extends StandardRecord { | |||
@@ -40,7 +37,7 @@ public final class UnknownRecord extends StandardRecord { | |||
*/ | |||
/** | |||
* seems to be part of the {@link PageSettingsBlock}. Not interpreted by POI. | |||
* The name 'PRINTSIZE' was taken from OOO source.<br/> | |||
* The name 'PRINTSIZE' was taken from OOO source.<p> | |||
* The few POI test samples with this record have data { 0x03, 0x00 }. | |||
*/ | |||
public static final int PRINTSIZE_0033 = 0x0033; |
@@ -23,11 +23,10 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: USESELFS (0x0160) - Use Natural Language Formulas Flag <p/> | |||
* Title: USESELFS (0x0160) - Use Natural Language Formulas Flag <p> | |||
* Description: Tells the GUI if this was written by something that can use | |||
* "natural language" formulas. HSSF can't.<p/> | |||
* REFERENCE: PG 420 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* "natural language" formulas. HSSF can't.<p> | |||
* REFERENCE: PG 420 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class UseSelFSRecord extends StandardRecord { | |||
public final static short sid = 0x0160; |
@@ -20,10 +20,9 @@ package org.apache.poi.hssf.record; | |||
import java.util.Iterator; | |||
/** | |||
* VerticalPageBreak (0x001A) record that stores page breaks at columns<p/> | |||
* VerticalPageBreak (0x001A) record that stores page breaks at columns | |||
* | |||
* @see PageBreakRecord | |||
* @author Danny Mui (dmui at apache dot org) | |||
*/ | |||
public final class VerticalPageBreakRecord extends PageBreakRecord { | |||
@@ -22,13 +22,10 @@ import org.apache.poi.util.BitFieldFactory; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: WSBOOL (0x0081) (called SHEETPR in OOO doc)<p/> | |||
* Title: WSBOOL (0x0081) (called SHEETPR in OOO doc)<p> | |||
* Description: stores workbook settings (aka its a big "everything we didn't | |||
* put somewhere else")<P> | |||
* REFERENCE: PG 425 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<P> | |||
* @author Andrew C. Oliver (acoliver at apache dot org) | |||
* @author Glen Stampoultzis (gstamp@iprimus.com.au) | |||
* @author Jason Height (jheight at chariot dot net dot au) | |||
* put somewhere else")<p> | |||
* REFERENCE: PG 425 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class WSBoolRecord extends StandardRecord { | |||
public final static short sid = 0x0081; |
@@ -23,9 +23,9 @@ import org.apache.poi.util.HexDump; | |||
import org.apache.poi.util.LittleEndianOutput; | |||
/** | |||
* Title: Window Protect Record (0x0019) <p/> | |||
* Description: flags whether workbook windows are protected<p/> | |||
* REFERENCE: PG 424 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2)<p/> | |||
* Title: Window Protect Record (0x0019)<p> | |||
* Description: flags whether workbook windows are protected<p> | |||
* REFERENCE: PG 424 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
*/ | |||
public final class WindowProtectRecord extends StandardRecord { | |||
public final static short sid = 0x0019; |
@@ -24,13 +24,12 @@ import org.apache.poi.util.LittleEndianOutput; | |||
import org.apache.poi.util.StringUtil; | |||
/** | |||
* Title: Write Access Record (0x005C)<p/> | |||
* Title: Write Access Record (0x005C)<p> | |||
* | |||
* Description: Stores the username of that who owns the spreadsheet generator (on unix the user's | |||
* login, on Windoze its the name you typed when you installed the thing) | |||
* <p/> | |||
* login, on Windoze its the name you typed when you installed the thing)<p> | |||
* | |||
* REFERENCE: PG 424 Microsoft Excel 97 Developer's Kit (ISBN: 1-57231-498-2) | |||
* <p/> | |||
*/ | |||
public final class WriteAccessRecord extends StandardRecord { | |||
public final static short sid = 0x005C; |
@@ -24,10 +24,8 @@ import org.apache.poi.hssf.model.RecordStream; | |||
import org.apache.poi.hssf.record.*; | |||
/** | |||
* Manages the all the records associated with a chart sub-stream.<br/> | |||
* Manages the all the records associated with a chart sub-stream.<p> | |||
* Includes the initial {@link BOFRecord} and final {@link EOFRecord}. | |||
* | |||
* @author Josh Micich | |||
*/ | |||
public final class ChartSubstreamRecordAggregate extends RecordAggregate { | |||
@@ -26,7 +26,7 @@ import org.apache.poi.hssf.record.CFHeaderRecord; | |||
import org.apache.poi.ss.formula.FormulaShifter; | |||
/** | |||
* Holds all the conditional formatting for a workbook sheet.<p/> | |||
* Holds all the conditional formatting for a workbook sheet.<p> | |||
* | |||
* See OOO exelfileformat.pdf sec 4.12 'Conditional Formatting Table' | |||
*/ |
@@ -24,10 +24,8 @@ import org.apache.poi.hssf.model.RecordStream; | |||
import org.apache.poi.hssf.record.*; | |||
/** | |||
* Manages the all the records associated with a 'Custom View Settings' sub-stream.<br/> | |||
* Manages the all the records associated with a 'Custom View Settings' sub-stream.<p> | |||
* Includes the initial USERSVIEWBEGIN(0x01AA) and final USERSVIEWEND(0x01AB). | |||
* | |||
* @author Josh Micich | |||
*/ | |||
public final class CustomViewSettingsRecordAggregate extends RecordAggregate { | |||
@@ -25,9 +25,8 @@ import org.apache.poi.hssf.record.DVALRecord; | |||
import org.apache.poi.hssf.record.DVRecord; | |||
/** | |||
* Manages the DVALRecord and DVRecords for a single sheet<br/> | |||
* Manages the DVALRecord and DVRecords for a single sheet<p> | |||
* See OOO excelfileformat.pdf section 4.14 | |||
* @author Josh Micich | |||
*/ | |||
public final class DataValidityTable extends RecordAggregate { | |||
@@ -29,11 +29,9 @@ import org.apache.poi.hssf.record.*; | |||
import org.apache.poi.util.HexDump; | |||
/** | |||
* Groups the page settings records for a worksheet.<p/> | |||
* Groups the page settings records for a worksheet.<p> | |||
* | |||
* See OOO excelfileformat.pdf sec 4.4 'Page Settings Block' | |||
* | |||
* @author Josh Micich | |||
*/ | |||
public final class PageSettingsBlock extends RecordAggregate { | |||
@@ -405,6 +405,7 @@ public class POIXMLDocumentPart { | |||
* @param removeUnusedParts | |||
* true, if the part shall be removed from the package if not | |||
* needed any longer. | |||
* @return true, if the relation was removed | |||
*/ | |||
protected final boolean removeRelation(POIXMLDocumentPart part, boolean removeUnusedParts){ | |||
String id = getRelationId(part); | |||
@@ -454,7 +455,7 @@ public class POIXMLDocumentPart { | |||
* Sub-classes should override and add logic to marshal the "model" into Ooxml4J. | |||
* | |||
* For example, the code saving a generic XML entry may look as follows: | |||
* <pre><code> | |||
* <pre> | |||
* protected void commit() throws IOException { | |||
* PackagePart part = getPackagePart(); | |||
* OutputStream out = part.getOutputStream(); | |||
@@ -462,8 +463,9 @@ public class POIXMLDocumentPart { | |||
* bean.save(out, DEFAULT_XML_OPTIONS); | |||
* out.close(); | |||
* } | |||
* </code></pre> | |||
* | |||
* </pre> | |||
* | |||
* @throws IOException a subclass may throw an IOException if the changes can't be committed | |||
*/ | |||
protected void commit() throws IOException { | |||
@@ -474,6 +476,8 @@ public class POIXMLDocumentPart { | |||
* Recursively fires {@link #commit()} for each package part | |||
* | |||
* @param alreadySaved context set containing already visited nodes | |||
* | |||
* @throws IOException a related part may throw an IOException if the changes can't be saved | |||
*/ | |||
protected final void onSave(Set<PackagePart> alreadySaved) throws IOException{ | |||
// this usually clears out previous content in the part... | |||
@@ -581,6 +585,8 @@ public class POIXMLDocumentPart { | |||
* | |||
* @param factory the factory object that creates POIXMLFactory instances | |||
* @param context context map containing already visited noted keyed by targetURI | |||
* | |||
* @throws OpenXML4JException thrown when a related part can't be read | |||
*/ | |||
protected void read(POIXMLFactory factory, Map<PackagePart, POIXMLDocumentPart> context) throws OpenXML4JException { | |||
PackagePart pp = getPackagePart(); | |||
@@ -637,7 +643,7 @@ public class POIXMLDocumentPart { | |||
* | |||
* @param rel The relationship | |||
* @return The target part | |||
* @throws InvalidFormatException | |||
* @throws InvalidFormatException thrown if the related part has is erroneous | |||
*/ | |||
protected PackagePart getTargetPart(PackageRelationship rel) throws InvalidFormatException { | |||
return getPackagePart().getRelatedPart(rel); | |||
@@ -646,6 +652,8 @@ public class POIXMLDocumentPart { | |||
/** | |||
* Fired when a new package part is created | |||
* | |||
* @throws IOException a subclass may throw an IOException on document creation | |||
*/ | |||
protected void onDocumentCreate() throws IOException { | |||
@@ -653,6 +661,8 @@ public class POIXMLDocumentPart { | |||
/** | |||
* Fired when a package part is read | |||
* | |||
* @throws IOException a subclass may throw an IOException when a document is read | |||
*/ | |||
protected void onDocumentRead() throws IOException { | |||
@@ -660,6 +670,8 @@ public class POIXMLDocumentPart { | |||
/** | |||
* Fired when a package part is about to be removed from the package | |||
* | |||
* @throws IOException a subclass may throw an IOException when a document is removed | |||
*/ | |||
protected void onDocumentRemove() throws IOException { | |||
@@ -670,6 +682,10 @@ public class POIXMLDocumentPart { | |||
* <p> | |||
* This method only exists to allow access to protected {@link POIXMLDocumentPart#onDocumentRead()} | |||
* from {@link org.apache.poi.xwpf.usermodel.XWPFDocument} without reflection. It should be removed. | |||
* | |||
* @param part the part which is to be read | |||
* | |||
* @throws IOException if the part can't be read | |||
*/ | |||
@Internal @Deprecated | |||
public static void _invokeOnDocumentRead(POIXMLDocumentPart part) throws IOException { |
@@ -66,6 +66,17 @@ public abstract class POIXMLFactory { | |||
/** | |||
* Need to delegate instantiation to sub class because of constructor visibility | |||
* | |||
* @param cls the document class to be instantiated | |||
* @param classes the classes of the constructor arguments | |||
* @param values the values of the constructor arguments | |||
* @return the new document / part | |||
* @throws SecurityException thrown if the object can't be instantiated | |||
* @throws NoSuchMethodException thrown if there is no constructor found for the given arguments | |||
* @throws InstantiationException thrown if the object can't be instantiated | |||
* @throws IllegalAccessException thrown if the object can't be instantiated | |||
* @throws InvocationTargetException thrown if the object can't be instantiated | |||
* | |||
* @since POI 3.14-Beta1 | |||
*/ | |||
protected abstract POIXMLDocumentPart createDocumentPart | |||
@@ -75,6 +86,7 @@ public abstract class POIXMLFactory { | |||
/** | |||
* returns the descriptor for the given relationship type | |||
* | |||
* @param relationshipType the relationship type of the descriptor | |||
* @return the descriptor or null if type is unknown | |||
* | |||
* @since POI 3.14-Beta1 | |||
@@ -116,6 +128,13 @@ public abstract class POIXMLFactory { | |||
/** | |||
* Retrieves the package relationship of the child part within the parent | |||
* | |||
* @param parent the parent to search for the part | |||
* @param part the part to look for | |||
* | |||
* @return the relationship | |||
* | |||
* @throws POIXMLException if the relations are erroneous or the part is not related | |||
* | |||
* @since POI 3.14-Beta1 | |||
*/ | |||
protected PackageRelationship getPackageRelationship(POIXMLDocumentPart parent, PackagePart part) { |
@@ -97,6 +97,8 @@ public class POIXMLProperties { | |||
/** | |||
* Returns the core document properties | |||
* | |||
* @return the core document properties | |||
*/ | |||
public CoreProperties getCoreProperties() { | |||
return core; | |||
@@ -104,6 +106,8 @@ public class POIXMLProperties { | |||
/** | |||
* Returns the extended document properties | |||
* | |||
* @return the extended document properties | |||
*/ | |||
public ExtendedProperties getExtendedProperties() { | |||
return ext; | |||
@@ -111,6 +115,8 @@ public class POIXMLProperties { | |||
/** | |||
* Returns the custom document properties | |||
* | |||
* @return the custom document properties | |||
*/ | |||
public CustomProperties getCustomProperties() { | |||
return cust; | |||
@@ -118,6 +124,9 @@ public class POIXMLProperties { | |||
/** | |||
* Commit changes to the underlying OPC package | |||
* | |||
* @throws IOException if the properties can't be saved | |||
* @throws POIXMLException if the properties are erroneous | |||
*/ | |||
public void commit() throws IOException{ | |||
@@ -426,6 +435,9 @@ public class POIXMLProperties { | |||
/** | |||
* Add a new string property | |||
* | |||
* @param name the property name | |||
* @param value the property value | |||
* | |||
* @throws IllegalArgumentException if a property with this name already exists | |||
*/ | |||
@@ -437,6 +449,9 @@ public class POIXMLProperties { | |||
/** | |||
* Add a new double property | |||
* | |||
* @param name the property name | |||
* @param value the property value | |||
* | |||
* @throws IllegalArgumentException if a property with this name already exists | |||
*/ | |||
public void addProperty(String name, double value){ | |||
@@ -447,6 +462,9 @@ public class POIXMLProperties { | |||
/** | |||
* Add a new integer property | |||
* | |||
* @param name the property name | |||
* @param value the property value | |||
* | |||
* @throws IllegalArgumentException if a property with this name already exists | |||
*/ | |||
public void addProperty(String name, int value){ | |||
@@ -457,6 +475,9 @@ public class POIXMLProperties { | |||
/** | |||
* Add a new boolean property | |||
* | |||
* @param name the property name | |||
* @param value the property value | |||
* | |||
* @throws IllegalArgumentException if a property with this name already exists | |||
*/ | |||
public void addProperty(String name, boolean value){ | |||
@@ -498,6 +519,8 @@ public class POIXMLProperties { | |||
* appropriate value for it. | |||
* | |||
* @param name the name of the property to fetch | |||
* | |||
* @return the custom property with this name, or null if none exists | |||
*/ | |||
public CTProperty getProperty(String name) { | |||
for(CTProperty p : props.getProperties().getPropertyArray()){ |