FileDocCategorySizeDatePackage
FuncVarPtg.javaAPI DocApache Poi 3.0.13247Mon Jan 01 12:39:40 GMT 2007org.apache.poi.hssf.record.formula

FuncVarPtg

public class FuncVarPtg extends AbstractFunctionPtg
author
Jason Height (jheight at chariot dot net dot au)

Fields Summary
public static final byte
sid
private static final int
SIZE
Constructors Summary
private FuncVarPtg()

  
    
      
      //Required for clone methods
    
public FuncVarPtg(RecordInputStream in)
Creates new function pointer from a byte array usually called while reading an excel file.

        field_1_num_args = in.readByte();
        field_2_fnc_index  = in.readShort();
    
public FuncVarPtg(String pName, byte pNumOperands)
Create a function ptg from a string tokenised by the parser

        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};
        }
    
Methods Summary
public java.lang.Objectclone()

      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 intgetNumberOfOperands()

        return field_1_num_args;
    
public intgetSize()

        return SIZE;
    
public java.lang.StringtoString()

        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();
    
public voidwriteBytes(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);