295
|
1 package jp.ac.u_ryukyu.ie.cr.jungle.store.operations;
|
|
2
|
|
3 import jp.ac.u_ryukyu.ie.cr.jungle.store.Command;
|
|
4 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNode;
|
|
5 import jp.ac.u_ryukyu.ie.cr.jungle.transaction.node.TreeNodeChildren;
|
|
6 import jp.ac.u_ryukyu.ie.cr.jungle.util.Either;
|
329
|
7 import jp.ac.u_ryukyu.ie.cr.jungle.util.jungleError.Error;
|
295
|
8
|
|
9 import java.nio.ByteBuffer;
|
|
10
|
|
11 /**
|
|
12 * Created by e115731 on 2017/01/04.
|
|
13 */
|
|
14 public class RedBlackTreeDeleteChildAtOperation implements NodeOperation {
|
|
15
|
314
|
16 private String key;
|
|
17 private ByteBuffer value;
|
295
|
18
|
314
|
19 public RedBlackTreeDeleteChildAtOperation(String key, ByteBuffer value) {
|
|
20 this.key = key;
|
|
21 this.value = value;
|
295
|
22 }
|
|
23
|
|
24 @Override
|
|
25 public Command getCommand() {
|
|
26 return Command.APPEND_CHILD_AND_PUT_ATTRIBUTE;
|
|
27 }
|
|
28
|
|
29 @Override
|
|
30 public Either<Error, TreeNode> invoke(TreeNode target) {
|
|
31 TreeNodeChildren children = target.getChildren();
|
314
|
32 return children.matchingChildDeleteAt(key, value);
|
295
|
33 }
|
|
34
|
|
35 @Override
|
|
36 public int getPosition() {
|
|
37 return -2;
|
|
38 }
|
|
39
|
|
40 @Override
|
|
41 public String getKey() {
|
|
42 return null;
|
|
43 }
|
|
44
|
|
45 @Override
|
|
46 public ByteBuffer getValue() {
|
|
47 return null;
|
|
48 }
|
|
49 }
|