annotate src/main/java/jungle/impl/SimpleTreeNode.java @ 0:113050de7f69

hg init
author shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
date Mon, 11 Jun 2012 20:10:00 +0900
parents
children 761d04aecfcb
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;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 import jungle.core.TreeNode;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 public class SimpleTreeNode implements TreeNode
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 {
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 private final Children children;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 private final Links links;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 private final Attributes attrs;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 private final String id;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 public SimpleTreeNode(String _id)
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 {
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 this(_id,new SimpleAttributes(),new SimpleChildren(),new SimpleLinks());
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 }
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 private SimpleTreeNode(String _id,Attributes _attrs,Children _children,Links _links)
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 {
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 if(_id == null || _id.length() == 0){
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 throw new NullPointerException("_id is null or empty.");
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 }
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 id = _id;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 attrs = _attrs;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 children = _children;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 links = _links;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 }
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 public String get(String _key)
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 {
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 if(_key == null){
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 throw new NullPointerException("_key is null");
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 }
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 return attrs.get(_key);
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 }
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 public Children children()
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 {
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 return children;
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
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 public Links links()
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 {
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 return links;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 }
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 public String cid()
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 {
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 return id;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 }
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 @Override
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 public int hashCode()
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 {
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 return id.hashCode();
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 }
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 @Override
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 public boolean equals(Object _obj)
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 {
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 if(_obj instanceof SimpleTreeNode){
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 SimpleTreeNode node = (SimpleTreeNode)_obj;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 return id.equals(node.id);
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 }
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 return false;
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 }
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71
113050de7f69 hg init
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 }