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;
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;
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;
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 {
* 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);
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;
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;
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;
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;
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 {
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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 {
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;
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
*/
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));
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;
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;
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;
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;
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
* 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
* // 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>
* <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>
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 {
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;
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 {
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;
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
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;
* 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;
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;
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 {
*/
/**
* 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;
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;
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 {
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;
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;
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;
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 {
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'
*/
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 {
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 {
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 {
* @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);
* 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();
* 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 {
* 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...
*
* @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();
*
* @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);
/**
* Fired when a new package part is created
+ *
+ * @throws IOException a subclass may throw an IOException on document creation
*/
protected void onDocumentCreate() throws IOException {
/**
* 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 {
/**
* 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 {
* <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 {
/**
* 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
/**
* 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
/**
* 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) {
/**
* Returns the core document properties
+ *
+ * @return the core document properties
*/
public CoreProperties getCoreProperties() {
return core;
/**
* Returns the extended document properties
+ *
+ * @return the extended document properties
*/
public ExtendedProperties getExtendedProperties() {
return ext;
/**
* Returns the custom document properties
+ *
+ * @return the custom document properties
*/
public CustomProperties getCustomProperties() {
return cust;
/**
* 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{
/**
* 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
*/
/**
* 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){
/**
* 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){
/**
* 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){
* 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()){