funcvarptg.java

来自「Office格式转换代码」· Java 代码 · 共 76 行

JAVA
76
字号
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 + =
减小字号Ctrl + -
显示快捷键?