package org.hibernate.validator.internal.metadata.raw;
import java.util.Collections;
import java.util.Set;
import org.hibernate.validator.internal.metadata.aggregated.CascadingMetaDataBuilder;
import org.hibernate.validator.internal.metadata.core.MetaConstraint;
public class ConstrainedType extends AbstractConstrainedElement {
private final Class<?> beanClass;
public ConstrainedType(ConfigurationSource source, Class<?> beanClass, Set<MetaConstraint<?>> constraints) {
super(
source,
ConstrainedElementKind.TYPE,
constraints,
Collections.emptySet(),
CascadingMetaDataBuilder.nonCascading()
);
this.beanClass = beanClass;
}
public Class<?> getBeanClass() {
return beanClass;
}
@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
result = prime * result
+ ( ( beanClass == null ) ? 0 : beanClass.hashCode() );
return result;
}
@Override
public boolean equals(Object obj) {
if ( this == obj ) {
return true;
}
if ( !super.equals( obj ) ) {
return false;
}
if ( getClass() != obj.getClass() ) {
return false;
}
ConstrainedType other = (ConstrainedType) obj;
if ( beanClass == null ) {
if ( other.beanClass != null ) {
return false;
}
}
else if ( !beanClass.equals( other.beanClass ) ) {
return false;
}
return true;
}
}