mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-03-24 09:32:49 +01:00
java: adds MessagePackObject.bigIntegerValue(), asBigInteger() and equals()
This commit is contained in:
parent
057f73a73e
commit
8c67087a15
@ -119,6 +119,10 @@ public abstract class MessagePackObject implements Cloneable, MessagePackable {
|
|||||||
throw new MessageTypeException("type error");
|
throw new MessageTypeException("type error");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BigInteger bigIntegerValue() {
|
||||||
|
throw new MessageTypeException("type error");
|
||||||
|
}
|
||||||
|
|
||||||
public float floatValue() {
|
public float floatValue() {
|
||||||
throw new MessageTypeException("type error");
|
throw new MessageTypeException("type error");
|
||||||
}
|
}
|
||||||
|
@ -60,6 +60,11 @@ class BigIntegerTypeIMPL extends IntegerType {
|
|||||||
return value.longValue();
|
return value.longValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BigInteger asBigInteger() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte byteValue() {
|
public byte byteValue() {
|
||||||
return value.byteValue();
|
return value.byteValue();
|
||||||
@ -80,6 +85,11 @@ class BigIntegerTypeIMPL extends IntegerType {
|
|||||||
return value.longValue();
|
return value.longValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BigInteger bigIntegerValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float floatValue() {
|
public float floatValue() {
|
||||||
return value.floatValue();
|
return value.floatValue();
|
||||||
@ -98,6 +108,11 @@ class BigIntegerTypeIMPL extends IntegerType {
|
|||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if(obj.getClass() != getClass()) {
|
if(obj.getClass() != getClass()) {
|
||||||
|
if(obj.getClass() == ShortIntegerTypeIMPL.class) {
|
||||||
|
return BigInteger.valueOf((long)((ShortIntegerTypeIMPL)obj).shortValue()).equals(value);
|
||||||
|
} else if(obj.getClass() == LongIntegerTypeIMPL.class) {
|
||||||
|
return BigInteger.valueOf(((LongIntegerTypeIMPL)obj).longValue()).equals(value);
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return ((BigIntegerTypeIMPL)obj).value.equals(value);
|
return ((BigIntegerTypeIMPL)obj).value.equals(value);
|
||||||
|
@ -59,6 +59,11 @@ class DoubleTypeIMPL extends FloatType {
|
|||||||
return (long)value;
|
return (long)value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BigInteger bigIntegerValue() {
|
||||||
|
return BigInteger.valueOf((long)value);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float floatValue() {
|
public float floatValue() {
|
||||||
return (float)value;
|
return (float)value;
|
||||||
|
@ -57,6 +57,11 @@ class LongIntegerTypeIMPL extends IntegerType {
|
|||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BigInteger asBigInteger() {
|
||||||
|
return BigInteger.valueOf(value);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte byteValue() {
|
public byte byteValue() {
|
||||||
return (byte)value;
|
return (byte)value;
|
||||||
@ -77,6 +82,11 @@ class LongIntegerTypeIMPL extends IntegerType {
|
|||||||
return (long)value;
|
return (long)value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BigInteger bigIntegerValue() {
|
||||||
|
return BigInteger.valueOf(value);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float floatValue() {
|
public float floatValue() {
|
||||||
return (float)value;
|
return (float)value;
|
||||||
@ -95,6 +105,11 @@ class LongIntegerTypeIMPL extends IntegerType {
|
|||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if(obj.getClass() != getClass()) {
|
if(obj.getClass() != getClass()) {
|
||||||
|
if(obj.getClass() == ShortIntegerTypeIMPL.class) {
|
||||||
|
return value == ((ShortIntegerTypeIMPL)obj).longValue();
|
||||||
|
} else if(obj.getClass() == BigIntegerTypeIMPL.class) {
|
||||||
|
return (long)value == ((BigIntegerTypeIMPL)obj).longValue();
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return ((LongIntegerTypeIMPL)obj).value == value;
|
return ((LongIntegerTypeIMPL)obj).value == value;
|
||||||
|
@ -79,6 +79,11 @@ class ShortIntegerTypeIMPL extends IntegerType {
|
|||||||
return (long)value;
|
return (long)value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BigInteger bigIntegerValue() {
|
||||||
|
return BigInteger.valueOf((long)value);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float floatValue() {
|
public float floatValue() {
|
||||||
return (float)value;
|
return (float)value;
|
||||||
@ -97,6 +102,11 @@ class ShortIntegerTypeIMPL extends IntegerType {
|
|||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if(obj.getClass() != getClass()) {
|
if(obj.getClass() != getClass()) {
|
||||||
|
if(obj.getClass() == LongIntegerTypeIMPL.class) {
|
||||||
|
return (long)value == ((LongIntegerTypeIMPL)obj).longValue();
|
||||||
|
} else if(obj.getClass() == BigIntegerTypeIMPL.class) {
|
||||||
|
return ((BigIntegerTypeIMPL)obj).bigIntegerValue().equals(BigInteger.valueOf((long)value));
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return ((ShortIntegerTypeIMPL)obj).value == value;
|
return ((ShortIntegerTypeIMPL)obj).value == value;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user