📄 funcvarptg.java
字号:
package org.apache.poi.hssf.record.formula;import org.apache.poi.util.LittleEndian;/** * * @author Jason Height (jheight at chariot dot net dot au) */public class FuncVarPtg extends AbstractFunctionPtg{ public final static byte sid = 0x22; private final static int SIZE = 4; private FuncVarPtg() { //Required for clone methods } /**Creates new function pointer from a byte array * usually called while reading an excel file. */ public FuncVarPtg(byte[] data, int offset) { offset++; field_1_num_args = data[ offset + 0 ]; field_2_fnc_index = LittleEndian.getShort(data,offset + 1 ); } /** * Create a function ptg from a string tokenised by the parser */ public FuncVarPtg(String pName, byte pNumOperands) { field_1_num_args = pNumOperands; field_2_fnc_index = lookupIndex(pName); try{ returnClass = ( (Byte) functionData[field_2_fnc_index][0]).byteValue(); paramClass = (byte[]) functionData[field_2_fnc_index][1]; } catch (NullPointerException npe ) { returnClass = Ptg.CLASS_VALUE; paramClass = new byte[] {Ptg.CLASS_VALUE}; } } public void writeBytes(byte[] array, int offset) { array[offset+0]=(byte) (sid + ptgClass); array[offset+1]=field_1_num_args; LittleEndian.putShort(array,offset+2,field_2_fnc_index); } public int getNumberOfOperands() { return field_1_num_args; } public Object clone() { FuncVarPtg ptg = new FuncVarPtg(); ptg.field_1_num_args = field_1_num_args; ptg.field_2_fnc_index = field_2_fnc_index; ptg.setClass(ptgClass); return ptg; } public int getSize() { return SIZE; } public String toString() { StringBuffer buffer = new StringBuffer(); buffer .append("<FunctionVarPtg>").append("\n") .append(" field_1_num_args=").append(field_1_num_args).append("\n") .append(" name =").append(lookupName(field_2_fnc_index)).append("\n") .append(" field_2_fnc_index=").append(field_2_fnc_index).append("\n") .append("</FunctionPtg>"); return buffer.toString(); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -