From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/examples/DefaultTreeNode.java | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/examples/DefaultTreeNode.java (limited to 'Master/Reference Architectures and Patterns/hjp5/examples/DefaultTreeNode.java') diff --git a/Master/Reference Architectures and Patterns/hjp5/examples/DefaultTreeNode.java b/Master/Reference Architectures and Patterns/hjp5/examples/DefaultTreeNode.java new file mode 100644 index 0000000..9d3764d --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/examples/DefaultTreeNode.java @@ -0,0 +1,46 @@ +/* DefaultTreeNode.java */ + +public class DefaultTreeNode +implements SimpleTreeNode +{ + private int CAPACITY; + private String name; + private SimpleTreeNode[] childs; + private int childcnt; + + public DefaultTreeNode(String name) + { + this.CAPACITY = 5; + this.name = name; + this.childs = new SimpleTreeNode[CAPACITY]; + this.childcnt = 0; + } + + public void addChild(SimpleTreeNode child) + { + if (childcnt >= CAPACITY) { + CAPACITY *= 2; + SimpleTreeNode[] newchilds = new SimpleTreeNode[CAPACITY]; + for (int i = 0; i < childcnt; ++i) { + newchilds[i] = childs[i]; + } + childs = newchilds; + } + childs[childcnt++] = child; + } + + public int getChildCnt() + { + return childcnt; + } + + public SimpleTreeNode getChild(int pos) + { + return childs[pos]; + } + + public String toString() + { + return name; + } +} \ No newline at end of file -- cgit v1.2.3