105
|
1 package alice.jungle.datasegment.transformer;
|
71
|
2
|
176
|
3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
|
179
|
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.LoggingNode;
|
176
|
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.OperationLog;
|
71
|
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor;
|
|
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
|
|
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
|
|
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
|
|
10 import org.msgpack.annotation.Message;
|
|
11
|
|
12
|
|
13 /*
|
|
14 * This code same AppendChildAt.
|
|
15 */
|
|
16
|
|
17 @Message
|
|
18 public class NetworkAppendChildAt implements NodeEditor {
|
|
19
|
|
20 private final int pos;
|
|
21
|
|
22 public NetworkAppendChildAt(int _pos) {
|
|
23 pos = _pos;
|
|
24 }
|
|
25
|
190
|
26 public Either<Error, LoggingNode> _edit(LoggingNode _e)
|
179
|
27 {
|
190
|
28 Either<Error,LoggingNode> either = _e.getChildren().addNewChildAt(pos);
|
71
|
29 if(either.isA()){
|
|
30 // error
|
|
31 return either;
|
|
32 }
|
|
33 return DefaultEither.newB(either.b());
|
|
34 }
|
179
|
35
|
|
36 @Override
|
190
|
37 public Either<Error, LoggingNode> edit(TreeNode _e) {
|
|
38 LoggingNode logNode = wrap(_e);
|
179
|
39 return _edit(logNode);
|
|
40 }
|
|
41
|
190
|
42 public LoggingNode wrap(TreeNode node) {
|
179
|
43 return new LoggingNode(node);
|
|
44 }
|
|
45
|
|
46 @Override
|
190
|
47 public LoggingNode wrap(TreeNode node, OperationLog op) {
|
179
|
48 return new LoggingNode(node, op);
|
|
49 }
|
|
50
|
71
|
51 }
|