annotate src/main/java/jungle/impl/SimpleTreeNode.java @ 7:c3c65308a11b

removed some package and added Graph API
author shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
date Fri, 29 Jun 2012 00:03:12 +0900
parents 761d04aecfcb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 package jungle.impl;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import jungle.core.Attributes;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 import jungle.core.Children;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 import jungle.core.Links;
7
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
6 import jungle.core.TreeGroup;
0
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 import jungle.core.TreeNode;
7
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
8 import jungle.core.graph.Graph;
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
9 import jungle.core.graph.Vertex;
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
10 import jungle.core.graph.Vertexes;
0
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 public class SimpleTreeNode implements TreeNode
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 {
7
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
14 private final Graph graph;
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
15 private final SimpleTreeGroup group;
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
16 private final Vertex vertex;
0
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
7
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
18 public SimpleTreeNode(SimpleTreeGroup _group,Vertex _vertex,Graph _graph)
0
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 {
7
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
20 group = _group;
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
21 vertex = _vertex;
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
22 graph = _graph;
0
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
7
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
24 // initialize vertex
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
25 vertex.createVertexes(Simples.TREENODE_CHILDREN_KEY);
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
26 vertex.createVertexes(Simples.TREENODE_LINKS_KEY);
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
27 }
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
28
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
29 public TreeGroup getGroup()
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
30 {
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
31 return group;
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
32 }
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
33
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
34 public Vertex getVertex()
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
35 {
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
36 return vertex;
0
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 }
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38
4
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
39 @Override
7
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
40 public String get(String _key)
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
41 {
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
42 return vertex.getProperty(_key);
0
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 }
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 @Override
7
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
46 public Children children()
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
47 {
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
48 Vertexes children = vertex.getVertexes(Simples.TREENODE_CHILDREN_KEY);
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
49 return new SimpleChildren(group,children,graph);
0
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 }
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51
4
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
52 @Override
7
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
53 public Links links()
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
54 {
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
55 Vertexes links = vertex.getVertexes(Simples.TREENODE_LINKS_KEY);
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
56 return new SimpleLinks(group,links,graph);
4
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
57 }
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
58
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
59 @Override
7
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
60 public int hashCode()
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
61 {
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
62 return vertex.hashCode();
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
63 }
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
64
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
65 @Override
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
66 public boolean equals(Object _obj)
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
67 {
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
68 if(_obj instanceof SimpleTreeNode){
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
69 SimpleTreeNode converted = (SimpleTreeNode)_obj;
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
70 if(converted.getGroup() == group){
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
71 return converted.getVertex().equals(vertex);
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
72 }
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
73 }
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
74
c3c65308a11b removed some package and added Graph API
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
75 return false;
4
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
76 }
0
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 }