annotate src/main/java/jp/ac/u_ryukyu/ie/cr/jungleNetwork/operations/NetworkNodePath.java @ 307:67c330ef2472

extends NodePath
author tatsuki
date Thu, 26 Jan 2017 03:44:21 +0900
parents b3a04bc21b23
children 201cc75a9984
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;
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
5 import jp.ac.u_ryukyu.ie.cr.jungle.util.Pair;
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
6 import org.msgpack.annotation.Message;
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
7
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
8 import java.util.Iterator;
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
9 import java.util.LinkedList;
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
10
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
11 @Message
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
12 public class NetworkNodePath implements NodePath {
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
13 LinkedList<Integer> path;
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
14
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
15 public NetworkNodePath() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
16 path = new LinkedList<Integer>();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
17 path.add(-1);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
18 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
19
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
20 public NetworkNodePath(NodePath _p) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
21 path = new LinkedList<Integer>();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
22 for (Integer pos : _p) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
23 path.add(pos);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
24 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
25 }
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
26
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
27 private NetworkNodePath(LinkedList<Integer> _path) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
28 path = _path;
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
29 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
30
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
31 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
32 public Iterator<Integer> iterator() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
33 return path.iterator();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
34 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
35
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
36 @Override
265
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
37 public int get(int index) {
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
38 return path.get(index);
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
39 }
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
40
b3a04bc21b23 add UnDefineNode
tatsuki
parents: 263
diff changeset
41 @Override
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
42 public NetworkNodePath add(int _pos) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
43 LinkedList<Integer> newPath = copyPath();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
44 newPath.add(_pos);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
45 return new NetworkNodePath(newPath);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
46 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
47
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
48 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
49 public NodePath addHead(int pos) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
50 return null; //Linked Listを後で直す
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
51 // List<Integer> newPath = path.add(0, pos);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
52 // return new DefaultNodePath(newPath);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
53 }
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
54
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
55 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
56 public Pair<Integer, NodePath> pop() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
57 LinkedList<Integer> cPath = copyPath();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
58 int e = cPath.getFirst();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
59 cPath.remove();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
60 return new Pair<Integer, NodePath>(e, new NetworkNodePath(cPath));
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
61 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
62
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
63 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
64 public int size() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
65 return path.size();
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
66 }
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
67
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
68 private LinkedList<Integer> copyPath() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
69 LinkedList<Integer> newPath = new LinkedList<Integer>();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
70 for (Integer i : path) {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
71 newPath.add(i);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
72 }
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
73 return newPath;
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 String toString() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
78 return path.toString();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
79 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
80
237
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
81 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
82 public NodePath tail() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
83 path.removeLast();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
84 return new NetworkNodePath(path);
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
85 }
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
86
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
87 @Override
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
88 public Pair<Integer, NodePath> last() {
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
89 Integer num = path.removeLast();
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
90 return new Pair<Integer, NodePath>(num, new NetworkNodePath(path));
33c93f162389 add getNodePath and commandLine
tatsuki
parents: 223
diff changeset
91 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
92
307
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
93 //以下使わない
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
94 @Override
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
95 public String getKey() {
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
96 return null;
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
97 }
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
98
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
99 @Override
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
100 public String getValue() {
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
101 return null;
67c330ef2472 extends NodePath
tatsuki
parents: 265
diff changeset
102 }
223
f0cc848b9af6 merge jungle-network but test faild
tatsuki
parents:
diff changeset
103 }