annotate src/main/java/jp/ac/u_ryukyu/ie/cr/shoshi/jungle/store/trasnformer/AppendChildAt.java @ 79:b4f145174970

change log
author one
date Sun, 31 Aug 2014 02:10:14 +0900
parents 540a27dde42f
children 715a9fbf02fc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.trasnformer;
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
2
78
540a27dde42f Delete EnableNode and EnableNodeWrapper
one
parents: 31
diff changeset
3 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.TreeNode;
79
b4f145174970 change log
one
parents: 78
diff changeset
4 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.DefaultOperationLog;
b4f145174970 change log
one
parents: 78
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.impl.logger.OperationLog;
b4f145174970 change log
one
parents: 78
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.AppendChildAtOperation;
b4f145174970 change log
one
parents: 78
diff changeset
7 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.store.operations.NodeOperation;
23
Shoshi TAMAKI
parents: 14
diff changeset
8 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.DefaultEither;
Shoshi TAMAKI
parents: 14
diff changeset
9 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Either;
24
Shoshi TAMAKI
parents: 23
diff changeset
10 import jp.ac.u_ryukyu.ie.cr.shoshi.jungle.util.Error;
23
Shoshi TAMAKI
parents: 14
diff changeset
11
29
53090dc21231 added Commitment
Shoshi TAMAKI
parents: 28
diff changeset
12 public class AppendChildAt implements NodeEditor
14
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
13 {
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
14 private final int pos;
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
15
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
16 public AppendChildAt(int _pos)
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
17 {
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
18 pos = _pos;
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
19 }
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
20
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
21 @Override
78
540a27dde42f Delete EnableNode and EnableNodeWrapper
one
parents: 31
diff changeset
22 public <T extends TreeNode<T>> Either<Error,T> edit(T _e)
14
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
23 {
31
418088ca2b30 added Generics parameters to EditableNode framework
Shoshi TAMAKI
parents: 29
diff changeset
24 Either<Error,T> either = _e.getChildren().addNewChildAt(pos);
23
Shoshi TAMAKI
parents: 14
diff changeset
25 if(either.isA()){
Shoshi TAMAKI
parents: 14
diff changeset
26 // error
24
Shoshi TAMAKI
parents: 23
diff changeset
27 return either;
23
Shoshi TAMAKI
parents: 14
diff changeset
28 }
Shoshi TAMAKI
parents: 14
diff changeset
29
Shoshi TAMAKI
parents: 14
diff changeset
30 return DefaultEither.newB(either.b());
14
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
31 }
79
b4f145174970 change log
one
parents: 78
diff changeset
32
b4f145174970 change log
one
parents: 78
diff changeset
33 @Override
b4f145174970 change log
one
parents: 78
diff changeset
34 public OperationLog getLog() {
b4f145174970 change log
one
parents: 78
diff changeset
35 OperationLog op = new DefaultOperationLog();
b4f145174970 change log
one
parents: 78
diff changeset
36 NodeOperation addNewChildAt = new AppendChildAtOperation(pos);
b4f145174970 change log
one
parents: 78
diff changeset
37 op = op.add(addNewChildAt);
b4f145174970 change log
one
parents: 78
diff changeset
38 return op;
b4f145174970 change log
one
parents: 78
diff changeset
39 }
14
596a714e6a89 added documents
Shoshi TAMAKI
parents:
diff changeset
40 }