Mercurial > hg > Members > nobuyasu > jungle-network
view src/alice/jungle/operations/NetworkAppendChildAtOperation.java @ 71:f1aef52c0611
Added NetworkAppendChildAtTest
author | one |
---|---|
date | Fri, 11 Oct 2013 18:24:46 +0900 |
parents | |
children | 9e3198bf9547 |
line wrap: on
line source
package alice.jungle.operations; import java.nio.ByteBuffer; 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.util.Either; import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error; import org.msgpack.annotation.Message; import alice.jungle.datasegment.store.transformer.NetworkAppendChildAt; @Message public class NetworkAppendChildAtOperation implements NodeOperation { // private final int pos; /* MessagePack can not handle final.*/ private int pos; /* Position -1 represent root position. */ public NetworkAppendChildAtOperation() { pos = -2; } public NetworkAppendChildAtOperation(int _pos) { pos = _pos; } @Override public Command getCommand() { return Command.APPEND_CHILD; } @Override public <T extends EditableNode<T>> Either<Error, T> invoke(T _target) { NetworkAppendChildAt appendChildAt = new NetworkAppendChildAt(pos); return appendChildAt.edit(_target); } @Override public int getPosition() { return pos; } @Override public String getKey() { return null; } @Override public ByteBuffer getValue() { return null; } }