annotate src/main/csharp/jp.ac.u-ryukyu.ie.cr/jungle/transaction/DefaultTreeNode.cs @ 7:02b2ab7bffe6

fix
author Kazuma
date Tue, 27 Sep 2016 18:36:05 +0900
parents dec15de2c6ff
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
1 using UnityEngine;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
2 public class DefaultTreeNode : TreeNode {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
3 private List<TreeNode> children;
7
Kazuma
parents: 0
diff changeset
4 private TreeMap<string,byte[]> attrs;
0
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
5 // string nodeId = new VMID().toString();
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
6
7
Kazuma
parents: 0
diff changeset
7 private static readonly List<TreeNode> NIL_LIST = new List<TreeNode>();
0
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
8
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
9 public DefaultTreeNode()
7
Kazuma
parents: 0
diff changeset
10 : this (NIL_LIST, new TreeMap<string,byte[]> ())
0
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
11 {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
12 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
13
7
Kazuma
parents: 0
diff changeset
14 public DefaultTreeNode(List<TreeNode> _children, TreeMap<string, byte[]> _attrs) {
0
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
15 attrs = _attrs;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
16 children = _children;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
17 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
18
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
19 public TreeNodeChildren getChildren() {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
20 return new DefaultTreeNodeChildren(children, attrs);
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
21 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
22
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
23 public TreeNodeAttributes getAttributes() {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
24 return new DefaultTreeNodeAttribute(children, attrs); // count = null.
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
25 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
26
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
27 public TreeNode createNewNode() {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
28 return new DefaultTreeNode();
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
29 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
30
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
31 public DefaultTreeNode clone() {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
32 return new DefaultTreeNode(children, attrs);
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
33 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
34
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
35 public Either<Error, TreeNode> appendRootNode() {
7
Kazuma
parents: 0
diff changeset
36 TreeNodeChildren newRootChildren = new DefaultTreeNodeChildren(NIL_LIST, new TreeMap<string, byte[]>());
0
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
37 Either<Error, TreeNode> either = newRootChildren.addNewChildAt(0,this);
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
38 return either;
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
39 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
40
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
41 public int compareTo(TreeNode o) {
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
42 return this.GetHashCode() - o.GetHashCode();
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
43 }
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
44
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
45
dec15de2c6ff first commit
Kazuma
parents:
diff changeset
46 }