token.setType(MsgPackType.INTEGER); token.setValue(readInteger()); break; case FLOAT: token.setType(MsgPackType.FLOAT); token.setValue(readFloat()); break; case BOOLEAN: token.setType(MsgPackType.BOOLEAN); token.setValue(readBoolean()); break; case MAP: token.setType(MsgPackType.MAP); token.setMapHeader(readMapHeader()); break; case ARRAY: token.setType(MsgPackType.ARRAY); token.setArrayHeader(readArrayHeader()); break; case NIL: token.setType(MsgPackType.NIL); skipValue(); break; case BINARY: token.setType(MsgPackType.BINARY); final int binaryLength = readBinaryLength(); token.setValue(buffer, offset, binaryLength); break;
token.setType(MsgPackType.INTEGER); token.setValue(readInteger()); break; case FLOAT: token.setType(MsgPackType.FLOAT); token.setValue(readFloat()); break; case BOOLEAN: token.setType(MsgPackType.BOOLEAN); token.setValue(readBoolean()); break; case MAP: token.setType(MsgPackType.MAP); token.setMapHeader(readMapHeader()); break; case ARRAY: token.setType(MsgPackType.ARRAY); token.setArrayHeader(readArrayHeader()); break; case NIL: token.setType(MsgPackType.NIL); skipValue(); break; case BINARY: token.setType(MsgPackType.BINARY); final int binaryLength = readBinaryLength(); token.setValue(buffer, offset, binaryLength); break;
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())); } }