Moved over some of the security stuff from Photos.
[utils] / security / src / main / java / org / wamblee / usermgt / Group.java
1 /*
2  * Copyright 2005 the original author or authors.
3  * 
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  * 
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  * 
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */ 
16
17 package org.wamblee.usermgt;
18
19 import java.io.Serializable;
20
21 import org.wamblee.persistence.AbstractPersistent;
22
23 /**
24  * Represents a group. 
25  */
26 public class Group extends AbstractPersistent implements Serializable, Comparable {
27
28     /**
29      * Group name. 
30      */
31     private String _name;  
32
33     /**
34      * Constructs the group. 
35      * @param aName
36      */
37     Group(String aName) {
38         super();
39         _name = aName; 
40     }
41     
42     public Group(Group aGroup) { 
43         super(aGroup); 
44         _name = aGroup._name;
45     }
46     
47     protected Group() { 
48         super(); 
49         _name = null; 
50     }
51     
52     /**
53      * Gets the name of the group. 
54      * @return Group name. 
55      */
56     public String getName() { 
57         return _name; 
58     }
59     
60     /**
61      * Sets the group name. 
62      * @param aName Group name. 
63      */
64     void setName(String aName) {
65         _name = aName; 
66     }
67     
68     /* (non-Javadoc)
69      * @see java.lang.Object#equals(java.lang.Object)
70      */
71     @Override
72     public boolean equals(Object aGroup) {
73         if ( !( aGroup instanceof Group )) { 
74             return false; 
75         }
76         return _name.equals(((Group)aGroup)._name);
77     }
78     
79     /* (non-Javadoc)
80      * @see java.lang.Object#hashCode()
81      */
82     @Override
83     public int hashCode() {
84         return _name.hashCode(); 
85     }
86     
87     /* (non-Javadoc)
88      * @see java.lang.Comparable#compareTo(T)
89      */
90     public int compareTo(Object aGroup) {
91         return _name.compareTo(((Group)aGroup)._name);
92     }
93     
94     /* (non-Javadoc)
95      * @see java.lang.Object#toString()
96      */
97     @Override
98     public String toString() {
99         return "Group(pk = " + getPrimaryKey() + ", name=" + _name + ")";
100     }
101 }