org.hibernate.validator.internal.properties.Constrainable Maven / Gradle / Ivy
/*
* Hibernate Validator, declare and validate application constraints
*
* License: Apache License, Version 2.0
* See the license.txt file in the root directory or .
*/
package org.hibernate.validator.internal.properties;
import java.lang.reflect.Type;
import org.hibernate.validator.internal.metadata.raw.ConstrainedElement.ConstrainedElementKind;
/**
* An element on which it is possible to define constraints (e.g. a JavaBean property, a JavaBean method, a JSON
* property).
*
* @author Marko Bekhta
*/
public interface Constrainable {
String getName();
Class getDeclaringClass();
Type getTypeForValidatorResolution();
Type getType();
ConstrainedElementKind getConstrainedElementKind();
@SuppressWarnings("unchecked")
default T as(Class clazz) {
return ( (T) this );
}
}