Standardised toString methods on ScalarConstantPtg subclasses

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@684067 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Josh Micich 2008-08-08 19:49:02 +00:00
parent ad4abd484a
commit cb842b1165
7 changed files with 49 additions and 79 deletions

View File

@ -17,7 +17,6 @@
package org.apache.poi.hssf.record.formula; package org.apache.poi.hssf.record.formula;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.RecordInputStream;
/** /**
@ -30,36 +29,30 @@ import org.apache.poi.hssf.record.RecordInputStream;
public final class BoolPtg extends ScalarConstantPtg { public final class BoolPtg extends ScalarConstantPtg {
public final static int SIZE = 2; public final static int SIZE = 2;
public final static byte sid = 0x1d; public final static byte sid = 0x1d;
private final boolean field_1_value; private final boolean _value;
public BoolPtg(RecordInputStream in) public BoolPtg(RecordInputStream in) {
{ _value = (in.readByte() == 1);
field_1_value = (in.readByte() == 1);
} }
public BoolPtg(String formulaToken) { public BoolPtg(String formulaToken) {
field_1_value = (formulaToken.equals("TRUE")); _value = (formulaToken.equalsIgnoreCase("TRUE"));
} }
public boolean getValue() public boolean getValue() {
{ return _value;
return field_1_value;
} }
public void writeBytes(byte [] array, int offset) public void writeBytes(byte [] array, int offset) {
{
array[ offset + 0 ] = sid; array[ offset + 0 ] = sid;
array[ offset + 1 ] = (byte) (field_1_value ? 1 : 0); array[ offset + 1 ] = (byte) (_value ? 1 : 0);
} }
public int getSize() public int getSize() {
{
return SIZE; return SIZE;
} }
public String toFormulaString(HSSFWorkbook book) protected String toFormulaString() {
{ return _value ? "TRUE" : "FALSE";
return field_1_value ? "TRUE" : "FALSE";
} }
} }

View File

@ -17,7 +17,6 @@
package org.apache.poi.hssf.record.formula; package org.apache.poi.hssf.record.formula;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.RecordInputStream;
import org.apache.poi.hssf.usermodel.HSSFErrorConstants; import org.apache.poi.hssf.usermodel.HSSFErrorConstants;
@ -68,7 +67,7 @@ public final class ErrPtg extends ScalarConstantPtg {
array[offset + 1] = (byte)field_1_error_code; array[offset + 1] = (byte)field_1_error_code;
} }
public String toFormulaString(HSSFWorkbook book) { protected String toFormulaString() {
return HSSFErrorConstants.getText(field_1_error_code); return HSSFErrorConstants.getText(field_1_error_code);
} }

View File

@ -17,9 +17,8 @@
package org.apache.poi.hssf.record.formula; package org.apache.poi.hssf.record.formula;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.RecordInputStream;
import org.apache.poi.util.LittleEndian;
/** /**
* Integer (unsigned short integer) * Integer (unsigned short integer)
@ -60,8 +59,7 @@ public final class IntPtg extends ScalarConstantPtg {
return field_1_value; return field_1_value;
} }
public void writeBytes(byte [] array, int offset) public void writeBytes(byte [] array, int offset) {
{
array[ offset + 0 ] = sid; array[ offset + 0 ] = sid;
LittleEndian.putUShort(array, offset + 1, getValue()); LittleEndian.putUShort(array, offset + 1, getValue());
} }
@ -70,15 +68,7 @@ public final class IntPtg extends ScalarConstantPtg {
return SIZE; return SIZE;
} }
public String toFormulaString(HSSFWorkbook book) { protected String toFormulaString() {
return String.valueOf(getValue()); return String.valueOf(getValue());
} }
public String toString() {
StringBuffer sb = new StringBuffer(64);
sb.append(getClass().getName()).append(" [");
sb.append(field_1_value);
sb.append("]");
return sb.toString();
}
} }

View File

@ -17,8 +17,6 @@
package org.apache.poi.hssf.record.formula; package org.apache.poi.hssf.record.formula;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/** /**
* Missing Function Arguments * Missing Function Arguments
* *
@ -31,22 +29,20 @@ public final class MissingArgPtg extends ScalarConstantPtg {
public final static byte sid = 0x16; public final static byte sid = 0x16;
public static final Ptg instance = new MissingArgPtg(); public static final Ptg instance = new MissingArgPtg();
private MissingArgPtg()
{ private MissingArgPtg() {
// enforce singleton
} }
public void writeBytes(byte [] array, int offset) public void writeBytes(byte [] array, int offset) {
{
array[ offset + 0 ] = sid; array[ offset + 0 ] = sid;
} }
public int getSize() public int getSize() {
{
return SIZE; return SIZE;
} }
public String toFormulaString(HSSFWorkbook book) protected String toFormulaString() {
{
return " "; return " ";
} }
} }

View File

@ -17,9 +17,8 @@
package org.apache.poi.hssf.record.formula; package org.apache.poi.hssf.record.formula;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.RecordInputStream;
import org.apache.poi.util.LittleEndian;
/** /**
* Number * Number
@ -34,8 +33,7 @@ public final class NumberPtg extends ScalarConstantPtg {
private final double field_1_value; private final double field_1_value;
/** Create a NumberPtg from a byte array read from disk */ /** Create a NumberPtg from a byte array read from disk */
public NumberPtg(RecordInputStream in) public NumberPtg(RecordInputStream in) {
{
this(in.readDouble()); this(in.readDouble());
} }
@ -52,33 +50,21 @@ public final class NumberPtg extends ScalarConstantPtg {
field_1_value = value; field_1_value = value;
} }
public double getValue() public double getValue() {
{
return field_1_value; return field_1_value;
} }
public void writeBytes(byte [] array, int offset) public void writeBytes(byte [] array, int offset) {
{
array[ offset + 0 ] = sid; array[ offset + 0 ] = sid;
LittleEndian.putDouble(array, offset + 1, getValue()); LittleEndian.putDouble(array, offset + 1, getValue());
} }
public int getSize() public int getSize() {
{
return SIZE; return SIZE;
} }
public String toFormulaString(HSSFWorkbook book) protected String toFormulaString() {
{
// TODO - java's rendering of double values is not quite same as excel's // TODO - java's rendering of double values is not quite same as excel's
return String.valueOf(field_1_value); return String.valueOf(field_1_value);
} }
public String toString() {
StringBuffer sb = new StringBuffer(64);
sb.append(getClass().getName()).append(" [");
sb.append(field_1_value);
sb.append("]");
return sb.toString();
}
} }

View File

@ -17,6 +17,8 @@
package org.apache.poi.hssf.record.formula; package org.apache.poi.hssf.record.formula;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/** /**
* @author Josh Micich * @author Josh Micich
*/ */
@ -24,7 +26,22 @@ abstract class ScalarConstantPtg extends Ptg {
public boolean isBaseToken() { public boolean isBaseToken() {
return true; return true;
} }
public final byte getDefaultOperandClass() {
return Ptg.CLASS_VALUE; public final byte getDefaultOperandClass() {
} return Ptg.CLASS_VALUE;
}
public final String toFormulaString(HSSFWorkbook book) {
return toFormulaString();
}
protected abstract String toFormulaString();
public final String toString() {
StringBuffer sb = new StringBuffer(64);
sb.append(getClass().getName()).append(" [");
sb.append(toFormulaString());
sb.append("]");
return sb.toString();
}
} }

View File

@ -17,11 +17,10 @@
package org.apache.poi.hssf.record.formula; package org.apache.poi.hssf.record.formula;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.record.RecordInputStream;
import org.apache.poi.util.BitField; import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory; import org.apache.poi.util.BitFieldFactory;
import org.apache.poi.util.StringUtil; import org.apache.poi.util.StringUtil;
import org.apache.poi.hssf.record.RecordInputStream;
/** /**
* String Stores a String value in a formula value stored in the format * String Stores a String value in a formula value stored in the format
@ -55,8 +54,6 @@ public final class StringPtg extends ScalarConstantPtg {
} else { } else {
field_3_string = in.readCompressedUnicode(field_1_length); field_3_string = in.readCompressedUnicode(field_1_length);
} }
// setValue(new String(data, offset+3, data[offset+1] + 256*data[offset+2]));
} }
/** /**
@ -100,7 +97,7 @@ public final class StringPtg extends ScalarConstantPtg {
} }
} }
public String toFormulaString(HSSFWorkbook book) { protected String toFormulaString() {
String value = field_3_string; String value = field_3_string;
int len = value.length(); int len = value.length();
StringBuffer sb = new StringBuffer(len + 4); StringBuffer sb = new StringBuffer(len + 4);
@ -117,12 +114,4 @@ public final class StringPtg extends ScalarConstantPtg {
sb.append(FORMULA_DELIMITER); sb.append(FORMULA_DELIMITER);
return sb.toString(); return sb.toString();
} }
public String toString() {
StringBuffer sb = new StringBuffer(64);
sb.append(getClass().getName()).append(" [");
sb.append(field_3_string);
sb.append("]");
return sb.toString();
}
} }