KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > jforum > util > GroupNode


1 /*
2  * Copyright (c) 2003, Rafael Steil
3  * All rights reserved.
4
5  * Redistribution and use in source and binary forms,
6  * with or without modification, are permitted provided
7  * that the following conditions are met:
8
9  * 1) Redistributions of source code must retain the above
10  * copyright notice, this list of conditions and the
11  * following disclaimer.
12  * 2) Redistributions in binary form must reproduce the
13  * above copyright notice, this list of conditions and
14  * the following disclaimer in the documentation and/or
15  * other materials provided with the distribution.
16  * 3) Neither the name of "Rafael Steil" nor
17  * the names of its contributors may be used to endorse
18  * or promote products derived from this software without
19  * specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
22  * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
23  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
24  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27  * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
28  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
32  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
34  * IN CONTRACT, STRICT LIABILITY, OR TORT
35  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
36  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
37  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
38  *
39  * This file creation date: Mar 3, 2003 / 11:29:45 AM
40  * net.jforum.view.GroupNode.java
41  * The JForum Project
42  * http://www.jforum.net
43  *
44  * $Id: GroupNode.java,v 1.4 2005/07/26 03:05:24 rafaelsteil Exp $
45  */

46 package net.jforum.util;
47
48 import java.util.ArrayList JavaDoc;
49
50 /**
51  * Represents a node in the group hierarchy.
52  * Every single group has a name and an ID, and each group may have
53  * unlimited subgroups. which may have sub-subgroups and so on.
54  * This class represents a specific group, supplying methods to add new
55  * groups and get information about them, as well all related sugroups.
56  * <p>
57  * This class is also used toghether with <code>TreeGroup</code>.
58  *
59  * @author Rafael Steil
60  */

61 public class GroupNode
62 {
63     private String JavaDoc name;
64     private int id;
65     
66     /**
67      * Subgroups of the instantiated group
68      */

69     private ArrayList JavaDoc extraNodes;
70
71     /**
72      * Default Constructor
73      */

74     public GroupNode()
75     {
76         this.extraNodes = new ArrayList JavaDoc();
77     }
78
79     /**
80      * Gets a node.
81      *
82      * @param pos Node position to retrieve
83      * @return <code>GroupNode</code>
84      * */

85     public GroupNode getNode(int pos)
86     {
87         return (GroupNode)this.extraNodes.get(pos);
88     }
89
90     /**
91      * Adds a new node.
92      *
93      * @param n Node to add
94      * */

95     public void addNode(GroupNode n)
96     {
97         this.extraNodes.add(n);
98     }
99
100     /**
101      * Gets the total number of nodes
102      *
103      * @return Quantidade de nos.
104      * */

105     public int size()
106     {
107         return this.extraNodes.size();
108     }
109
110     /**
111      * Sets the node's name
112      *
113      * @param name Node name
114      * */

115     public void setName(String JavaDoc name)
116     {
117         this.name = name;
118     }
119
120     /**
121      * Sets the node's ID
122      *
123      * @param id Node ID
124      * */

125     public void setId(int id)
126     {
127         this.id = id;
128     }
129
130     /**
131      * Gets the name of the node
132      *
133      * @return String with the name
134      * */

135     public String JavaDoc getName()
136     {
137         return this.name;
138     }
139     
140     /**
141      * Gets the ID
142      *
143      * @return Node ID
144      * */

145     public int getId()
146     {
147         return this.id;
148     }
149 }
150
Popular Tags