TreeNode.java

biz/hammurapi/util/TreeNode.java

Violations

Inspector Message Severity Location
Java Inspector 048 Copyrights information should be present in each file. 1
Java Inspector 089 Undocumented constructor 2 39:9
Java Inspector 089 Undocumented method 2 46:9
Java Inspector 089 Undocumented method 2 52:9
Java Inspector 089 Undocumented method 2 60:9
Java Inspector 089 Undocumented method 2 67:9
Java Inspector 089 Undocumented method 2 71:9
Java Inspector 089 Undocumented method 2 78:9
Java Inspector 089 Method is not properly documented 2 84:9
Java Inspector 089 Undocumented method 2 88:9

Source code

1/*
2 * hgcommons 9
3 * Hammurapi Group Common Library
4 * Copyright (C) 2003 Hammurapi Group
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 *
20 * URL: http://www.hammurapi.biz/hammurapi-biz/ef/xmenu/hammurapi-group/products/products/hgcommons/index.html
21 * e-Mail: support@hammurapi.biz
22 */
23package biz.hammurapi.util;
24
25import java.util.Collections;
26import java.util.HashMap;
27import java.util.LinkedList;
28import java.util.List;
29import java.util.Map;
30
31/**
32 * Simple class to build tree structures
33 * @author Pavel Vlasov
34 * @version $Revision: 1.4 $
35 */
36public class TreeNode extends VisitableBase implements Attributable {
37 private TreeNode parent;
38
39 public TreeNode() {
40 super();
41 }
42
43 /* (non-Javadoc)
44 * @see biz.hammurapi.util.Visitable#accept(biz.hammurapi.util.Visitor)
45 */
46 protected void acceptChildren(Visitor visitor) {
47 childrenVisitable.accept(visitor);
48 }
49
50 private Map attributes=new HashMap();
51
52 public void setAttribute(Object key, Object value) {
53 if (value==null) {
54 attributes.remove(key);
55 } else {
56 attributes.put(key, value);
57 }
58 }
59
60 public Object getAttribute(Object key) {
61 return attributes.get(key);
62 }
63
64 private List children=new LinkedList();
65 private Visitable childrenVisitable=new CollectionVisitable(children, false);
66
67 public List getChildren() {
68 return Collections.unmodifiableList(children);
69 }
70
71 public void addChild(Object child) {
72 children.add(child);
73 if (child instanceof TreeNode) {
74 ((TreeNode) child).parent=this;
75 }
76 }
77
78 public boolean hasAttribute(String name) {
79 return attributes.containsKey(name);
80 }
81 /**
82 * @return Returns the parent.
83 */
84 public TreeNode getParent() {
85 return parent;
86 }
87
88 public Object removeAttribute(Object key) {
89 return attributes.remove(key);
90 }
91
92}
93