package jxl.biff.formula;

import common.Assert;
import common.Logger;
import jxl.biff.CellReferenceHelper;

class ColumnRange extends Area {
  private static Logger logger = Logger.getLogger(ColumnRange.class);
  
  ColumnRange() {}
  
  ColumnRange(String s) {
    int seppos = s.indexOf(":");
    Assert.verify((seppos != -1));
    String startcell = s.substring(0, seppos);
    String endcell = s.substring(seppos + 1);
    int columnFirst = CellReferenceHelper.getColumn(startcell);
    int rowFirst = 0;
    int columnLast = CellReferenceHelper.getColumn(endcell);
    int rowLast = 65535;
    boolean columnFirstRelative = CellReferenceHelper.isColumnRelative(startcell);
    boolean rowFirstRelative = false;
    boolean columnLastRelative = CellReferenceHelper.isColumnRelative(endcell);
    boolean rowLastRelative = false;
    setRangeData(columnFirst, columnLast, rowFirst, rowLast, columnFirstRelative, columnLastRelative, rowFirstRelative, rowLastRelative);
  }
  
  public void getString(StringBuffer buf) {
    CellReferenceHelper.getColumnReference(getFirstColumn(), buf);
    buf.append(':');
    CellReferenceHelper.getColumnReference(getLastColumn(), buf);
  }
}
