105
|
1 package alice.jungle.datasegment.transformer;
|
71
|
2
|
|
3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.EditableNode;
|
|
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer.NodeEditor;
|
|
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
|
|
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
|
|
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
|
|
8
|
|
9 import org.msgpack.annotation.Message;
|
|
10
|
|
11
|
|
12 /*
|
|
13 * This code same AppendChildAt.
|
|
14 */
|
|
15
|
|
16 @Message
|
|
17 public class NetworkAppendChildAt implements NodeEditor {
|
|
18
|
|
19 private final int pos;
|
|
20
|
|
21 public NetworkAppendChildAt(int _pos) {
|
|
22 pos = _pos;
|
|
23 }
|
|
24
|
|
25 @Override
|
|
26 public <T extends EditableNode<T>> Either<Error, T> edit(T _e) {
|
|
27 Either<Error,T> either = _e.getChildren().addNewChildAt(pos);
|
|
28 if(either.isA()){
|
|
29 // error
|
|
30 return either;
|
|
31 }
|
|
32 return DefaultEither.newB(either.b());
|
|
33 }
|
|
34
|
|
35 }
|