protected BooleanLookupComparer(BoolEval be) { super(be); _value = be.getBooleanValue(); } protected CompareResult compareSameType(ValueEval other) {
public final ValueEval evaluate(ValueEval[] args, int srcRow, int srcCol) { if (args.length < 1) { return ErrorEval.VALUE_INVALID; } boolean boolResult; try { boolResult = calculate(args); } catch (EvaluationException e) { return e.getErrorEval(); } return BoolEval.valueOf(boolResult); }
if (!isViaReference || _isReferenceBoolCounted) { BoolEval boolEval = (BoolEval) ve; temp.add(boolEval.getNumberValue());
public String toString() { return getClass().getName() + " [" + getStringValue() + "]"; } }
public String toString() { return getClass().getName() + " [" + getStringValue() + "]"; } }
protected CompareResult compareSameType(ValueEval other) { BoolEval be = (BoolEval) other; boolean otherVal = be.getBooleanValue(); if(_value == otherVal) { return CompareResult.EQUAL; } // TRUE > FALSE if(_value) { return CompareResult.GREATER_THAN; } return CompareResult.LESS_THAN; } protected String getValueAsString() {
private ValueEval convertObjectEval(Object token) { if (token == null) { throw new RuntimeException("Array item cannot be null"); } if (token instanceof String) { return new StringEval((String)token); } if (token instanceof Double) { return new NumberEval(((Double)token).doubleValue()); } if (token instanceof Boolean) { return BoolEval.valueOf(((Boolean)token).booleanValue()); } if (token instanceof ErrorConstant) { return ErrorEval.valueOf(((ErrorConstant)token).getErrorCode()); } throw new IllegalArgumentException("Unexpected constant class (" + token.getClass().getName() + ")"); }
public String toString() { StringBuilder sb = new StringBuilder(64); sb.append(getClass().getName()).append(" ["); sb.append(getStringValue()); sb.append("]"); return sb.toString(); } }
if (!isViaReference || _isReferenceBoolCounted) { BoolEval boolEval = (BoolEval) ve; temp.add(boolEval.getNumberValue());
private static int compareBlank(ValueEval v) { if (v == BlankEval.instance) { return 0; } if (v instanceof BoolEval) { BoolEval boolEval = (BoolEval) v; return boolEval.getBooleanValue() ? -1 : 0; } if (v instanceof NumberEval) { NumberEval ne = (NumberEval) v; return NumberComparer.compare(0.0, ne.getNumberValue()); } if (v instanceof StringEval) { StringEval se = (StringEval) v; return se.getStringValue().length() < 1 ? 0 : -1; } throw new IllegalArgumentException("bad value class (" + v.getClass().getName() + ")"); }
public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0) { boolean boolArgVal; try { ValueEval ve = OperandResolver.getSingleValue(arg0, srcRowIndex, srcColumnIndex); Boolean b = OperandResolver.coerceValueToBoolean(ve, false); boolArgVal = b == null ? false : b.booleanValue(); } catch (EvaluationException e) { return e.getErrorEval(); } return BoolEval.valueOf(!boolArgVal); } };
public String toString() { StringBuilder sb = new StringBuilder(64); sb.append(getClass().getName()).append(" ["); sb.append(getStringValue()); sb.append("]"); return sb.toString(); } }
if (!isViaReference || _isReferenceBoolCounted) { BoolEval boolEval = (BoolEval) ve; temp.add(boolEval.getNumberValue());
private static boolean areValuesEqual(ValueEval a, ValueEval b) { if (a == null) { return false; } Class<? extends ValueEval> cls = a.getClass(); if (cls != b.getClass()) { // value type is changing return false; } if (a == BlankEval.instance) { return b == a; } if (cls == NumberEval.class) { return ((NumberEval)a).getNumberValue() == ((NumberEval)b).getNumberValue(); } if (cls == StringEval.class) { return ((StringEval)a).getStringValue().equals(((StringEval)b).getStringValue()); } if (cls == BoolEval.class) { return ((BoolEval)a).getBooleanValue() == ((BoolEval)b).getBooleanValue(); } if (cls == ErrorEval.class) { return ((ErrorEval)a).getErrorCode() == ((ErrorEval)b).getErrorCode(); } throw new IllegalStateException("Unexpected value class (" + cls.getName() + ")"); }
public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0, ValueEval arg1) { String s0; String s1; try { s0 = evaluateStringArg(arg0, srcRowIndex, srcColumnIndex); s1 = evaluateStringArg(arg1, srcRowIndex, srcColumnIndex); } catch (EvaluationException e) { return e.getErrorEval(); } return BoolEval.valueOf(s0.equals(s1)); } };
if (!isViaReference || _isReferenceBoolCounted) { BoolEval boolEval = (BoolEval) ve; temp.add(boolEval.getNumberValue());
private boolean areValuesEqual(ValueEval a, ValueEval b) { if (a == null) { return false; } Class<?> cls = a.getClass(); if (cls != b.getClass()) { // value type is changing return false; } if (a == BlankEval.instance) { return b == a; } if (cls == NumberEval.class) { return ((NumberEval)a).getNumberValue() == ((NumberEval)b).getNumberValue(); } if (cls == StringEval.class) { return ((StringEval)a).getStringValue().equals(((StringEval)b).getStringValue()); } if (cls == BoolEval.class) { return ((BoolEval)a).getBooleanValue() == ((BoolEval)b).getBooleanValue(); } if (cls == ErrorEval.class) { return ((ErrorEval)a).getErrorCode() == ((ErrorEval)b).getErrorCode(); } throw new IllegalStateException("Unexpected value class (" + cls.getName() + ")"); }
@SuppressWarnings("unused") public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval arg0) { ValueEval ve; try { ve = OperandResolver.getSingleValue(arg0, srcRowIndex, srcColumnIndex); } catch (EvaluationException e) { // Note - it is more usual to propagate error codes straight to the result like this: // but logical functions behave a little differently // return e.getErrorEval(); // this will usually cause a 'FALSE' result except for ISNONTEXT() ve = e.getErrorEval(); } return BoolEval.valueOf(evaluate(ve)); } /**
public void setValue(ValueEval value) { Class<? extends ValueEval> cls = value.getClass(); if (cls == NumberEval.class) { _cellType = CellType.NUMERIC; _numberValue = ((NumberEval)value).getNumberValue(); return; } if (cls == StringEval.class) { _cellType = CellType.STRING; _stringValue = ((StringEval)value).getStringValue(); return; } if (cls == BoolEval.class) { _cellType = CellType.BOOLEAN; _booleanValue = ((BoolEval)value).getBooleanValue(); return; } if (cls == ErrorEval.class) { _cellType = CellType.ERROR; _errorValue = ((ErrorEval)value).getErrorCode(); return; } if (cls == BlankEval.class) { _cellType = CellType.BLANK; return; } throw new IllegalArgumentException("Unexpected value class (" + cls.getName() + ")"); } public void copyValue(Cell destCell) {
public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) { if (args.length != 1) { return ErrorEval.VALUE_INVALID; } int val; try { val = evaluateArgParity(args[0], ec.getRowIndex(), ec.getColumnIndex()); } catch (EvaluationException e) { return e.getErrorEval(); } return BoolEval.valueOf(val == _desiredParity); }