Mercurial > hg > Members > tatsuki > Alice
diff src/main/java/alice/datasegment/ReceiveRemoteData.java @ 345:8f71c3e6f11d
Change directory structure Maven standard
author | sugi |
---|---|
date | Wed, 16 Apr 2014 18:26:07 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/alice/datasegment/ReceiveRemoteData.java Wed Apr 16 18:26:07 2014 +0900 @@ -0,0 +1,69 @@ +package alice.datasegment; + +import java.io.IOException; + +import org.msgpack.type.ArrayValue; +import org.msgpack.type.Value; +import org.msgpack.type.ValueType; + +import alice.codesegment.SingletonMessage; + +public class ReceiveRemoteData implements ReceiverData { + public Value val; + + public ReceiveRemoteData() { + } + + public ReceiveRemoteData(Value val2) { + this.val = val2; + } + + public String asString() { + if (val.getType() == ValueType.RAW) { + return val.asRawValue().getString(); + } + return null; + } + + public int asInteger() { + if (val.getType() == ValueType.INTEGER) { + return val.asIntegerValue().getInt(); + } + return 0; + } + + public Float asFloat() { + if (val.getType() == ValueType.FLOAT) { + return val.asFloatValue().getFloat(); + } + return 0.0f; + } + + public ArrayValue asArray(){ + if (val.getType() == ValueType.ARRAY){ + return val.asArrayValue(); + } + return null; + } + + public <T> T asClass(Class<T> clazz) { + try { + return SingletonMessage.getInstance().convert(val, clazz); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + + } + + @Override + public Value getVal() { + return val; + } + + @Override + public Object getObj() { + return val; + } + +} \ No newline at end of file