Mercurial > hg > Members > tatsuki > Alice
view src/alice/datasegment/Receiver.java @ 44:73158dc54c59
fix peek api
author | kazz <kazz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 04 Feb 2012 01:34:57 +0900 |
parents | ca079a730d0b |
children | 7fa9ddb31f64 |
line wrap: on
line source
package alice.datasegment; import java.io.IOException; import org.msgpack.MessagePack; import org.msgpack.type.Value; import org.msgpack.type.ValueType; import alice.codesegment.InputDataSegment; public class Receiver { public InputDataSegment ids; public int index; public Value val; public String from; public CommandType type; public String managerKey;// public String key;// public Receiver(InputDataSegment ids, CommandType type) { this.ids = ids; this.type = type; ids.regist(); } public void setKey(String managerKey, String key) { this.managerKey = managerKey;// this.key = key;// setKey(managerKey, key, 0); } public void setKey(String managerKey, String key, int index) { switch (type) { case PEEK: ids.peek(this, managerKey, key, index); break; case TAKE: ids.take(this, managerKey, key, index); break; } ids.setKey(); } 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 <T> T asClass(Class<T> clazz) { MessagePack msgpack = new MessagePack(); try { return msgpack.convert(val, clazz); } catch (IOException e) { e.printStackTrace(); } return null; } }