Package org.apache.poi.ss.formula.ptg
Class ArrayPtg
- java.lang.Object
-
- org.apache.poi.ss.formula.ptg.Ptg
-
- org.apache.poi.ss.formula.ptg.ArrayPtg
-
public final class ArrayPtg extends Ptg
ArrayPtg - handles arrays The ArrayPtg is a little weird, the size of the Ptg when parsing initially only includes the Ptg sid and the reserved bytes. The next Ptg in the expression then follows. It is only after the "size" of all the Ptgs is met, that the ArrayPtg data is actually held after this. So Ptg.createParsedExpression keeps track of the number of ArrayPtg elements and need to parse the data upto the FORMULA record size.
-
-
Field Summary
Fields Modifier and Type Field Description static intPLAIN_TOKEN_SIZEThe size of the plain tArray token written within the standard formula tokens (not including the data which comes after all formula tokens)static bytesid-
Fields inherited from class org.apache.poi.ss.formula.ptg.Ptg
CLASS_ARRAY, CLASS_REF, CLASS_VALUE, EMPTY_PTG_ARRAY
-
-
Constructor Summary
Constructors Constructor Description ArrayPtg(java.lang.Object[][] values2d)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetColumnCount()bytegetDefaultOperandClass()intgetRowCount()intgetSize()This size includes the size of the array Ptg plus the Array Ptg Token value sizejava.lang.Object[][]getTokenArrayValues()booleanisBaseToken()java.lang.StringtoFormulaString()return a string representation of this token alonejava.lang.StringtoString()Overridden toString method to ensure object hash is not printed.voidwrite(LittleEndianOutput out)intwriteTokenValueBytes(LittleEndianOutput out)-
Methods inherited from class org.apache.poi.ss.formula.ptg.Ptg
createPtg, doesFormulaReferToDeletedCell, getEncodedSize, getEncodedSizeWithoutArrayData, getPtgClass, getRVAType, readTokens, serializePtgs, setClass
-
-
-
-
Field Detail
-
sid
public static final byte sid
- See Also:
- Constant Field Values
-
PLAIN_TOKEN_SIZE
public static final int PLAIN_TOKEN_SIZE
The size of the plain tArray token written within the standard formula tokens (not including the data which comes after all formula tokens)- See Also:
- Constant Field Values
-
-
Method Detail
-
getTokenArrayValues
public java.lang.Object[][] getTokenArrayValues()
- Returns:
- 2-d array (inner index is rowIx, outer index is colIx)
-
isBaseToken
public boolean isBaseToken()
- Specified by:
isBaseTokenin classPtg- Returns:
falseif this token is classified as 'reference', 'value', or 'array'
-
toString
public java.lang.String toString()
Description copied from class:PtgOverridden toString method to ensure object hash is not printed. This helps get rid of gratuitous diffs when comparing two dumps Subclasses may output more relevant information by overriding this method
-
write
public void write(LittleEndianOutput out)
-
writeTokenValueBytes
public int writeTokenValueBytes(LittleEndianOutput out)
-
getRowCount
public int getRowCount()
-
getColumnCount
public int getColumnCount()
-
getSize
public int getSize()
This size includes the size of the array Ptg plus the Array Ptg Token value size
-
toFormulaString
public java.lang.String toFormulaString()
Description copied from class:Ptgreturn a string representation of this token alone- Specified by:
toFormulaStringin classPtg
-
getDefaultOperandClass
public byte getDefaultOperandClass()
- Specified by:
getDefaultOperandClassin classPtg
-
-