Mercurial > hg > Database > jungle-network
view src/alice/jungle/operations/NetworkAppendChildAtOperation.java @ 78:0055d917c796
Modified NetworkNodeOperation
author | one |
---|---|
date | Wed, 16 Oct 2013 17:24:15 +0900 |
parents | 9e3198bf9547 |
children |
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 { /* MessagePack cannot handle final.*/ // private final int pos; 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; } }