Mercurial > hg > Members > nobuyasu > jungle-network
view src/alice/jungle/operations/NetworkAppendChildAtOperation.java @ 76:9e3198bf9547
Modified NetworkNodePath
author | one |
---|---|
date | Tue, 15 Oct 2013 15:53:36 +0900 |
parents | f1aef52c0611 |
children | 0055d917c796 |
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 cannot 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; } }