0
|
1 package jungle.impl;
|
|
2
|
|
3 import jungle.core.Attributes;
|
|
4 import jungle.core.Children;
|
|
5 import jungle.core.Links;
|
|
6 import jungle.core.TreeNode;
|
|
7
|
|
8 public class SimpleTreeNode implements TreeNode
|
|
9 {
|
|
10 private final Children children;
|
|
11 private final Links links;
|
|
12 private final Attributes attrs;
|
|
13 private final String id;
|
|
14
|
|
15 public SimpleTreeNode(String _id)
|
|
16 {
|
|
17 this(_id,new SimpleAttributes(),new SimpleChildren(),new SimpleLinks());
|
|
18 }
|
|
19
|
|
20 private SimpleTreeNode(String _id,Attributes _attrs,Children _children,Links _links)
|
|
21 {
|
|
22 if(_id == null || _id.length() == 0){
|
|
23 throw new NullPointerException("_id is null or empty.");
|
|
24 }
|
|
25
|
|
26 id = _id;
|
|
27 attrs = _attrs;
|
|
28 children = _children;
|
|
29 links = _links;
|
|
30 }
|
|
31
|
|
32 public String get(String _key)
|
|
33 {
|
|
34 if(_key == null){
|
|
35 throw new NullPointerException("_key is null");
|
|
36 }
|
|
37
|
|
38 return attrs.get(_key);
|
|
39 }
|
|
40
|
|
41 public Children children()
|
|
42 {
|
|
43 return children;
|
|
44 }
|
|
45
|
|
46 public Links links()
|
|
47 {
|
|
48 return links;
|
|
49 }
|
|
50
|
|
51 public String cid()
|
|
52 {
|
|
53 return id;
|
|
54 }
|
|
55
|
|
56 @Override
|
|
57 public int hashCode()
|
|
58 {
|
|
59 return id.hashCode();
|
|
60 }
|
|
61
|
|
62 @Override
|
|
63 public boolean equals(Object _obj)
|
|
64 {
|
|
65 if(_obj instanceof SimpleTreeNode){
|
|
66 SimpleTreeNode node = (SimpleTreeNode)_obj;
|
|
67 return id.equals(node.id);
|
|
68 }
|
|
69 return false;
|
|
70 }
|
|
71
|
|
72 }
|