annotate src/main/java/jp/ac/u_ryukyu/ie/cr/jungleNetwork/operations/NetworkNodePath.java @ 365:f69f4be12612 default tip

fix
author suruga
date Fri, 09 Feb 2018 19:48:22 +0900
parents a0529572fbcb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
1 package jp.ac.u_ryukyu.ie.cr.jungleNetwork.operations;
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
2
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
3
263
tatsuki
parents: 237
diff changeset
4 import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.NodePath;
308
201cc75a9984 change Red Black Tree Edit Path Extends
tatsuki
parents: 307
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.jungle.store.nodepath.PathType;
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
6 import jp.ac.u_ryukyu.ie.cr.jungle.util.Pair;
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
7 import org.msgpack.annotation.Message;
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
8
308
201cc75a9984 change Red Black Tree Edit Path Extends
tatsuki
parents: 307
diff changeset
9 import java.nio.ByteBuffer;
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
10 import java.util.Iterator;
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
11 import java.util.LinkedList;
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
12
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
13 @Message
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
14 public class NetworkNodePath implements NodePath {
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
15 LinkedList<Integer> path;
316
a0529572fbcb Path Convert magpack bug fix
tatsuki
parents: 310
diff changeset
16 int type;
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
17
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
18 public NetworkNodePath() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
19 path = new LinkedList<Integer>();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
20 path.add(-1);
310
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
21 type = PathType.Default;
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
22 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
23
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
24 public NetworkNodePath(NodePath _p) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
25 path = new LinkedList<Integer>();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
26 for (Integer pos : _p) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
27 path.add(pos);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
28 }
310
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
29 type = _p.getPathType();
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
30 }
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
31
316
a0529572fbcb Path Convert magpack bug fix
tatsuki
parents: 310
diff changeset
32 public NetworkNodePath(NodePath _p, int type) {
310
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
33 path = new LinkedList<Integer>();
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
34 for (Integer pos : _p) {
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
35 path.add(pos);
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
36 }
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
37 this.type = type;
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
38 }
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
39
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
40 private NetworkNodePath(LinkedList<Integer> _path) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
41 path = _path;
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
42 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
43
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
44 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
45 public Iterator<Integer> iterator() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
46 return path.iterator();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
47 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
48
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
49 @Override
265
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
50 public int get(int index) {
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
51 return path.get(index);
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
52 }
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
53
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
54 @Override
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
55 public NetworkNodePath add(int _pos) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
56 LinkedList<Integer> newPath = copyPath();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
57 newPath.add(_pos);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
58 return new NetworkNodePath(newPath);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
59 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
60
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
61 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
62 public NodePath addHead(int pos) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
63 return null; //Linked Listを後で直す
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
64 // List<Integer> newPath = path.add(0, pos);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
65 // return new DefaultNodePath(newPath);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
66 }
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
67
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
68 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
69 public Pair<Integer, NodePath> pop() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
70 LinkedList<Integer> cPath = copyPath();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
71 int e = cPath.getFirst();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
72 cPath.remove();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
73 return new Pair<Integer, NodePath>(e, new NetworkNodePath(cPath));
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
74 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
75
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
76 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
77 public int size() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
78 return path.size();
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
79 }
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
80
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
81 private LinkedList<Integer> copyPath() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
82 LinkedList<Integer> newPath = new LinkedList<Integer>();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
83 for (Integer i : path) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
84 newPath.add(i);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
85 }
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
86 return newPath;
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
87 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
88
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
89 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
90 public String toString() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
91 return path.toString();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
92 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
93
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
94 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
95 public NodePath tail() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
96 path.removeLast();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
97 return new NetworkNodePath(path);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
98 }
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
99
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
100 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
101 public Pair<Integer, NodePath> last() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
102 Integer num = path.removeLast();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
103 return new Pair<Integer, NodePath>(num, new NetworkNodePath(path));
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
104 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
105
307
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
106 //以下使わない
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
107 @Override
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
108 public String getKey() {
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
109 return null;
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
110 }
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
111
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
112 @Override
308
201cc75a9984 change Red Black Tree Edit Path Extends
tatsuki
parents: 307
diff changeset
113 public ByteBuffer getValue() {
307
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
114 return null;
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
115 }
308
201cc75a9984 change Red Black Tree Edit Path Extends
tatsuki
parents: 307
diff changeset
116
201cc75a9984 change Red Black Tree Edit Path Extends
tatsuki
parents: 307
diff changeset
117 @Override
316
a0529572fbcb Path Convert magpack bug fix
tatsuki
parents: 310
diff changeset
118 public int getPathType() {
308
201cc75a9984 change Red Black Tree Edit Path Extends
tatsuki
parents: 307
diff changeset
119 return PathType.Default;
201cc75a9984 change Red Black Tree Edit Path Extends
tatsuki
parents: 307
diff changeset
120 }
310
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
121
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
122 @Override //ネットワークでは今のところ使わない
316
a0529572fbcb Path Convert magpack bug fix
tatsuki
parents: 310
diff changeset
123 public NodePath setType(int type) {
310
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
124 return null;
474728dcfdb8 add PathType
tatsuki
parents: 308
diff changeset
125 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
126 }