1
7 package org.hibernate.validator.internal.metadata.raw;
8
9 import java.util.List;
10 import java.util.Set;
11
12 import org.hibernate.validator.internal.util.CollectionHelper;
13 import org.hibernate.validator.spi.group.DefaultGroupSequenceProvider;
14
15
23 public class BeanConfiguration<T> {
24
25 private final ConfigurationSource source;
26
27 private final Class<T> beanClass;
28
29 private final Set<ConstrainedElement> constrainedElements;
30
31 private final List<Class<?>> defaultGroupSequence;
32
33 private final DefaultGroupSequenceProvider<? super T> defaultGroupSequenceProvider;
34
35
47 public BeanConfiguration(
48 ConfigurationSource source,
49 Class<T> beanClass,
50 Set<? extends ConstrainedElement> constrainedElements,
51 List<Class<?>> defaultGroupSequence,
52 DefaultGroupSequenceProvider<? super T> defaultGroupSequenceProvider) {
53
54 this.source = source;
55 this.beanClass = beanClass;
56 this.constrainedElements = CollectionHelper.<ConstrainedElement>newHashSet( constrainedElements );
57 this.defaultGroupSequence = defaultGroupSequence;
58 this.defaultGroupSequenceProvider = defaultGroupSequenceProvider;
59 }
60
61 public ConfigurationSource getSource() {
62 return source;
63 }
64
65 public Class<T> getBeanClass() {
66 return beanClass;
67 }
68
69 public Set<ConstrainedElement> getConstrainedElements() {
70 return constrainedElements;
71 }
72
73 public List<Class<?>> getDefaultGroupSequence() {
74 return defaultGroupSequence;
75 }
76
77 public DefaultGroupSequenceProvider<? super T> getDefaultGroupSequenceProvider() {
78 return defaultGroupSequenceProvider;
79 }
80
81 @Override
82 public String toString() {
83 return "BeanConfiguration [beanClass=" + beanClass.getSimpleName()
84 + ", source=" + source
85 + ", constrainedElements=" + constrainedElements
86 + ", defaultGroupSequence=" + defaultGroupSequence
87 + ", defaultGroupSequenceProvider="
88 + defaultGroupSequenceProvider + "]";
89 }
90
91 @Override
92 public int hashCode() {
93 final int prime = 31;
94 int result = 1;
95 result = prime * result
96 + ( ( beanClass == null ) ? 0 : beanClass.hashCode() );
97 result = prime * result + ( ( source == null ) ? 0 : source.hashCode() );
98 return result;
99 }
100
101 @Override
102 public boolean equals(Object obj) {
103 if ( this == obj ) {
104 return true;
105 }
106 if ( obj == null ) {
107 return false;
108 }
109 if ( getClass() != obj.getClass() ) {
110 return false;
111 }
112 BeanConfiguration<?> other = (BeanConfiguration<?>) obj;
113 if ( beanClass == null ) {
114 if ( other.beanClass != null ) {
115 return false;
116 }
117 }
118 else if ( !beanClass.equals( other.beanClass ) ) {
119 return false;
120 }
121 if ( source != other.source ) {
122 return false;
123 }
124 return true;
125 }
126
127 }
128