annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
71
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
1 package alice.jungle.operations;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
2
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
3 import java.nio.ByteBuffer;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
4
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.Command;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
10
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
11 import org.msgpack.annotation.Message;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
12
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
13 import alice.jungle.datasegment.store.transformer.NetworkAppendChildAt;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
14
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
15
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
16 @Message
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
17 public class NetworkAppendChildAtOperation implements NodeOperation {
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
18
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
19 // private final int pos;
76
9e3198bf9547 Modified NetworkNodePath
one
parents: 71
diff changeset
20 /* MessagePack cannot handle final.*/
71
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
21 private int pos;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
22
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
23 /* Position -1 represent root position. */
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
24 public NetworkAppendChildAtOperation() { pos = -2; }
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
25
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
26 public NetworkAppendChildAtOperation(int _pos) {
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
27 pos = _pos;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
28 }
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
29
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
30 @Override
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
31 public Command getCommand() {
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
32 return Command.APPEND_CHILD;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
33 }
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
34
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
35 @Override
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
36 public <T extends EditableNode<T>> Either<Error, T> invoke(T _target) {
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
37 NetworkAppendChildAt appendChildAt = new NetworkAppendChildAt(pos);
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
38 return appendChildAt.edit(_target);
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
39 }
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
40
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
41 @Override
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
42 public int getPosition() {
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
43 return pos;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
44 }
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
45
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
46 @Override
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
47 public String getKey() {
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
48 return null;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
49 }
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
50
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
51 @Override
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
52 public ByteBuffer getValue() {
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
53 return null;
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
54 }
f1aef52c0611 Added NetworkAppendChildAtTest
one
parents:
diff changeset
55 }