package org.hibernate.validator.internal.metadata.raw;
import java.util.List;
import java.util.Set;
import org.hibernate.validator.internal.util.CollectionHelper;
import org.hibernate.validator.spi.group.DefaultGroupSequenceProvider;
public class BeanConfiguration<T> {
private final ConfigurationSource source;
private final Class<T> beanClass;
private final Set<ConstrainedElement> constrainedElements;
private final List<Class<?>> defaultGroupSequence;
private final DefaultGroupSequenceProvider<? super T> defaultGroupSequenceProvider;
public BeanConfiguration(
ConfigurationSource source,
Class<T> beanClass,
Set<? extends ConstrainedElement> constrainedElements,
List<Class<?>> defaultGroupSequence,
DefaultGroupSequenceProvider<? super T> defaultGroupSequenceProvider) {
this.source = source;
this.beanClass = beanClass;
this.constrainedElements = CollectionHelper.<ConstrainedElement>newHashSet( constrainedElements );
this.defaultGroupSequence = defaultGroupSequence;
this.defaultGroupSequenceProvider = defaultGroupSequenceProvider;
}
public ConfigurationSource getSource() {
return source;
}
public Class<T> getBeanClass() {
return beanClass;
}
public Set<ConstrainedElement> getConstrainedElements() {
return constrainedElements;
}
public List<Class<?>> getDefaultGroupSequence() {
return defaultGroupSequence;
}
public DefaultGroupSequenceProvider<? super T> getDefaultGroupSequenceProvider() {
return defaultGroupSequenceProvider;
}
@Override
public String toString() {
return "BeanConfiguration [beanClass=" + beanClass.getSimpleName()
+ ", source=" + source
+ ", constrainedElements=" + constrainedElements
+ ", defaultGroupSequence=" + defaultGroupSequence
+ ", defaultGroupSequenceProvider="
+ defaultGroupSequenceProvider + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ( ( beanClass == null ) ? 0 : beanClass.hashCode() );
result = prime * result + ( ( source == null ) ? 0 : source.hashCode() );
return result;
}
@Override
public boolean equals(Object obj) {
if ( this == obj ) {
return true;
}
if ( obj == null ) {
return false;
}
if ( getClass() != obj.getClass() ) {
return false;
}
BeanConfiguration<?> other = (BeanConfiguration<?>) obj;
if ( beanClass == null ) {
if ( other.beanClass != null ) {
return false;
}
}
else if ( !beanClass.equals( other.beanClass ) ) {
return false;
}
if ( source != other.source ) {
return false;
}
return true;
}
}