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

ReferencePtg

public class ReferencePtg extends Ptg
ReferencePtg - handles references (such as A1, A2, IA4)
author
Andrew C. Oliver (acoliver@apache.org)
author
Jason Height (jheight at chariot dot net dot au)

Fields Summary
private static final int
SIZE
public static final byte
sid
private short
field_1_row
private short
field_2_col
private BitField
rowRelative
private BitField
colRelative
private BitField
column
Constructors Summary
protected ReferencePtg()


      
      //Required for clone methods
    
public ReferencePtg(String cellref)
Takes in a String represnetation of a cell reference and fills out the numeric fields.

        CellReference c= new CellReference(cellref);
        setRow((short) c.getRow());
        setColumn((short) c.getCol());
        setColRelative(!c.isColAbsolute());
        setRowRelative(!c.isRowAbsolute());
    
public ReferencePtg(short row, short column, boolean isRowRelative, boolean isColumnRelative)

      setRow(row);
      setColumn(column);
      setRowRelative(isRowRelative);
      setColRelative(isColumnRelative);
    
public ReferencePtg(RecordInputStream in)
Creates new ValueReferencePtg

        field_1_row = in.readShort();
        field_2_col = in.readShort();
    
Methods Summary
public java.lang.Objectclone()

      ReferencePtg ptg = new ReferencePtg();
      ptg.field_1_row = field_1_row;
      ptg.field_2_col = field_2_col;
      ptg.setClass(ptgClass);
      return ptg;
    
public shortgetColumn()

    	return column.getShortValue(field_2_col);
    
public shortgetColumnRaw()

        return field_2_col;
    
public bytegetDefaultOperandClass()

        return Ptg.CLASS_REF;
    
public java.lang.StringgetRefPtgName()

      return "ReferencePtg";
    
public shortgetRow()

        return field_1_row;
    
public intgetSize()

        return SIZE;
    
public booleanisColRelative()

        return colRelative.isSet(field_2_col);
    
public booleanisRowRelative()

        return rowRelative.isSet(field_2_col);
    
public voidsetColRelative(boolean rel)

        field_2_col=colRelative.setShortBoolean(field_2_col,rel);
    
public voidsetColumn(short col)

    	field_2_col = column.setShortValue(field_2_col, col);
    
public voidsetColumnRaw(short col)

        field_2_col = col;
    
public voidsetRow(short row)

        field_1_row = row;
    
public voidsetRowRelative(boolean rel)

        field_2_col=rowRelative.setShortBoolean(field_2_col,rel);
    
public java.lang.StringtoFormulaString(org.apache.poi.hssf.model.Workbook book)

        //TODO -- should we store a cellreference instance in this ptg?? but .. memory is an issue, i believe!
        return (new CellReference(getRow(),getColumn(),!isRowRelative(),!isColRelative())).toString();
    
public java.lang.StringtoString()

        StringBuffer buffer = new StringBuffer("[");
        buffer.append(getRefPtgName());
        buffer.append("]\n");

        buffer.append("row = ").append(getRow()).append("\n");
        buffer.append("col = ").append(getColumn()).append("\n");
        buffer.append("rowrelative = ").append(isRowRelative()).append("\n");
        buffer.append("colrelative = ").append(isColRelative()).append("\n");
        return buffer.toString();
    
public voidwriteBytes(byte[] array, int offset)

        array[offset] = (byte) (sid + ptgClass);
        LittleEndian.putShort(array,offset+1,field_1_row);
        LittleEndian.putShort(array,offset+3,field_2_col);