/*
* Hibernate Validator, declare and validate application constraints
*
* License: Apache License, Version 2.0
* See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>.
*/
package org.hibernate.validator.ap.testmodel.crossparameters;
import javax.validation.ConstraintTarget;
import javax.validation.constraints.Size;
public class MethodLevelValidationUsingCrossParameterConstraints {
/**
* Allowed: single cross-parameter constraint.
*/
@ValidCrossParameterConstraint
public String returnString(Integer parameter, String anotherParameter) {
return parameter + anotherParameter;
}
/**
* Allowed: mix of cross-parameter constraint and normal constraint.
*/
@Size(min = 5)
@ValidCrossParameterConstraint
public String getString(Integer parameter, String anotherParameter) {
return parameter + anotherParameter;
}
/**
* Allowed: cross-parameter constraint on void method.
*/
@ValidCrossParameterConstraint
public void voidMethod(Integer parameter, String anotherParameter) {
}
/**
* Not Allowed: cross-parameter constraint on void method without arguments.
*/
@ValidCrossParameterConstraint
public void methodWithoutArguments() {
}
/**
* Allowed: cross-parameter and normal constraint with implicit target.
*/
@ValidCrossParameterAndNormalConstraint
public void constraintWithImplicitTarget(String param) {
}
/**
* Allowed: cross-parameter and normal constraint with implicit target.
*/
@ValidCrossParameterAndNormalConstraint
public String constraintWithImplicitTarget() {
return null;
}
/**
* Not Allowed: cross-parameter and normal constraint with implicit target that cannot be resolved.
*/
@ValidCrossParameterAndNormalConstraint
public String constraintWithImplicitTargetNoResolution(String param) {
return param;
}
/**
* Allowed: cross-parameter and normal constraint with explicit target.
*/
@ValidCrossParameterAndNormalConstraint(validationAppliesTo = ConstraintTarget.PARAMETERS)
public String constraintWithExplicitTarget(String param) {
return param;
}
/**
* Allowed: cross-parameter and normal constraint with explicit target.
*/
@ValidCrossParameterAndNormalConstraint(validationAppliesTo = ConstraintTarget.RETURN_VALUE)
public String constraintWithExplicitTarget2(String param) {
return param;
}
}