1 /*
2  * Hibernate Validator, declare and validate application constraints
3  *
4  * License: Apache License, Version 2.0
5  * See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>.
6  */

7 package org.hibernate.validator.internal.engine.groups;
8
9 import javax.validation.groups.Default;
10
11 /**
12  * Encapsulates a single group.
13  *
14  * @author Hardy Ferentschik
15  */

16 public class Group {
17     public static final Group DEFAULT_GROUP = new Group( Default.class );
18
19     /**
20      * The actual group.
21      */

22     private Class<?> group;
23
24     public Group(Class<?> group) {
25         this.group = group;
26     }
27
28     public Class<?> getDefiningClass() {
29         return group;
30     }
31
32     @Override
33     public boolean equals(Object o) {
34         if ( this == o ) {
35             return true;
36         }
37         if ( o == null || getClass() != o.getClass() ) {
38             return false;
39         }
40
41         Group group1 = (Group) o;
42
43         if ( group != null ? !group.equals( group1.group ) : group1.group != null ) {
44             return false;
45         }
46         return true;
47     }
48
49     public boolean isDefaultGroup() {
50         return getDefiningClass().getName().equals( Default.class.getName() );
51     }
52
53     @Override
54     public int hashCode() {
55         return group != null ? group.hashCode() : 0;
56     }
57
58     @Override
59     public String toString() {
60         return "Group{" + "group=" + group.getName() + '}';
61     }
62 }
63