public DirectBuffer getLongAsString() { if (!isLong()) { throw new RuntimeException(String.format("expected Long but found '%s'", token.getType())); } final long key = token.getIntegerValue(); final String converted = String.valueOf(key); longResultBuffer.wrap(converted.getBytes()); return longResultBuffer; } }
public DirectBuffer getLongAsString() { if (!isLong()) { throw new RuntimeException(String.format("expected Long but found '%s'", token.getType())); } final long key = token.getIntegerValue(); final String converted = String.valueOf(key); longResultBuffer.wrap(converted.getBytes()); return longResultBuffer; } }
private boolean lessThanOrEqual(MsgPackToken x, MsgPackToken y) { ensureSameType(x, y); ensureNumber(x); if (x.getType() == MsgPackType.INTEGER) { return x.getIntegerValue() <= y.getIntegerValue(); } else { return x.getFloatValue() <= y.getFloatValue(); } }
private boolean greaterThanOrEqual(MsgPackToken x, MsgPackToken y) { ensureSameType(x, y); ensureNumber(x); if (x.getType() == MsgPackType.INTEGER) { return x.getIntegerValue() >= y.getIntegerValue(); } else { return x.getFloatValue() >= y.getFloatValue(); } }
private boolean lessThan(MsgPackToken x, MsgPackToken y) { ensureSameType(x, y); ensureNumber(x); if (x.getType() == MsgPackType.INTEGER) { return x.getIntegerValue() < y.getIntegerValue(); } else { return x.getFloatValue() < y.getFloatValue(); } }
private boolean greaterThan(MsgPackToken x, MsgPackToken y) { ensureSameType(x, y); ensureNumber(x); if (x.getType() == MsgPackType.INTEGER) { return x.getIntegerValue() > y.getIntegerValue(); } else { return x.getFloatValue() > y.getFloatValue(); } }
private boolean lessThan(MsgPackToken x, MsgPackToken y) { ensureSameType(x, y); ensureNumber(x); if (x.getType() == MsgPackType.INTEGER) { return x.getIntegerValue() < y.getIntegerValue(); } else { return x.getFloatValue() < y.getFloatValue(); } }
private boolean lessThanOrEqual(MsgPackToken x, MsgPackToken y) { ensureSameType(x, y); ensureNumber(x); if (x.getType() == MsgPackType.INTEGER) { return x.getIntegerValue() <= y.getIntegerValue(); } else { return x.getFloatValue() <= y.getFloatValue(); } }
private boolean greaterThan(MsgPackToken x, MsgPackToken y) { ensureSameType(x, y); ensureNumber(x); if (x.getType() == MsgPackType.INTEGER) { return x.getIntegerValue() > y.getIntegerValue(); } else { return x.getFloatValue() > y.getFloatValue(); } }
private boolean greaterThanOrEqual(MsgPackToken x, MsgPackToken y) { ensureSameType(x, y); ensureNumber(x); if (x.getType() == MsgPackType.INTEGER) { return x.getIntegerValue() >= y.getIntegerValue(); } else { return x.getFloatValue() >= y.getFloatValue(); } }
private void ensureSameType(MsgPackToken x, MsgPackToken y) { // transform number types for comparison if (x.getType() == MsgPackType.INTEGER && y.getType() == MsgPackType.FLOAT) { x.setType(MsgPackType.FLOAT); x.setValue((double) x.getIntegerValue()); } else if (x.getType() == MsgPackType.FLOAT && y.getType() == MsgPackType.INTEGER) { y.setType(MsgPackType.FLOAT); y.setValue((double) y.getIntegerValue()); } else if (x.getType() != y.getType()) { throw new JsonConditionException( String.format( "Cannot compare values of different types: %s and %s", x.getType(), y.getType())); } }
private void ensureSameType(MsgPackToken x, MsgPackToken y) { // transform number types for comparison if (x.getType() == MsgPackType.INTEGER && y.getType() == MsgPackType.FLOAT) { x.setType(MsgPackType.FLOAT); x.setValue((double) x.getIntegerValue()); } else if (x.getType() == MsgPackType.FLOAT && y.getType() == MsgPackType.INTEGER) { y.setType(MsgPackType.FLOAT); y.setValue((double) y.getIntegerValue()); } else if (x.getType() != y.getType()) { throw new JsonConditionException( String.format( "Cannot compare values of different types: %s and %s", x.getType(), y.getType())); } }
private boolean equals(MsgPackToken x, MsgPackToken y) { if (x.getType() == MsgPackType.NIL || y.getType() == MsgPackType.NIL) { return x.getType() == y.getType(); } else { ensureSameType(x, y); switch (x.getType()) { case STRING: return BufferUtil.equals(x.getValueBuffer(), y.getValueBuffer()); case BOOLEAN: return x.getBooleanValue() == y.getBooleanValue(); case INTEGER: return x.getIntegerValue() == y.getIntegerValue(); case FLOAT: return x.getFloatValue() == y.getFloatValue(); default: throw new JsonConditionException( String.format("Cannot compare value of type: %s", x.getType())); } } }
private boolean equals(MsgPackToken x, MsgPackToken y) { if (x.getType() == MsgPackType.NIL || y.getType() == MsgPackType.NIL) { return x.getType() == y.getType(); } else { ensureSameType(x, y); switch (x.getType()) { case STRING: return BufferUtil.equals(x.getValueBuffer(), y.getValueBuffer()); case BOOLEAN: return x.getBooleanValue() == y.getBooleanValue(); case INTEGER: return x.getIntegerValue() == y.getIntegerValue(); case FLOAT: return x.getFloatValue() == y.getFloatValue(); default: throw new JsonConditionException( String.format("Cannot compare value of type: %s", x.getType())); } } }