Mercurial > hg > Members > nobuyasu > jungle-network
view src/main/java/alice/jungle/operations/NetworkPutAttributeOperation.java @ 109:b6d2db67febe
Added tag
author | one |
---|---|
date | Tue, 26 Nov 2013 16:36:26 +0900 |
parents | f9e29a52efd3 |
children | 6f104ab4eb81 |
line wrap: on
line source
package alice.jungle.operations; import java.nio.ByteBuffer; import org.msgpack.annotation.Message; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.PutAttribute; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; @Message public class NetworkPutAttributeOperation implements NodeOperation { /* MessagePack cannot handle final. * * private final String key; * private final ByteBuffer value; */ public String key; public ByteBuffer value; public NetworkPutAttributeOperation() { key = null; value = null; } public NetworkPutAttributeOperation(String _key,ByteBuffer _value) { key = _key; value = _value; } @Override public Command getCommand() { return Command.PUT_ATTRIBUTE; } @Override public <T extends EditableNode<T>> Either<Error, T> invoke(T _target) { PutAttribute putAttribute = new PutAttribute(key,value); return putAttribute.edit(_target); } @Override public int getPosition() { return -1; } @Override public String getKey() { return key; } @Override public ByteBuffer getValue() { return value; } }