/*
* 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.test.internal.engine.methodvalidation.service;
import javax.validation.GroupSequence;
import javax.validation.constraints.Min;
import javax.validation.constraints.Min.List;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.test.internal.engine.methodvalidation.service.CustomerRepositoryWithRedefinedDefaultGroup.ValidationGroup1;
import org.hibernate.validator.test.internal.engine.methodvalidation.service.CustomerRepositoryWithRedefinedDefaultGroup.ValidationGroup2;
/**
* @author Gunnar Morling
*/
@GroupSequence({ ValidationGroup1.class, ValidationGroup2.class, CustomerRepositoryWithRedefinedDefaultGroup.class })
public interface CustomerRepositoryWithRedefinedDefaultGroup {
void noConstraintInDefaultGroup(@NotNull(groups = ValidationGroup3.class) String name);
void constraintInDefaultGroup(@NotNull(groups = ValidationGroup1.class) String name);
void constraintInLaterPartOfDefaultSequence(@List({
@Min(groups = ValidationGroup1.class, value = 5), @Min(groups = ValidationGroup2.class, value = 10)
}) int param);
void constraintInLaterPartOfDefaultSequenceAtDifferentParameters(@List({
@Min(groups = ValidationGroup1.class, value = 5), @Min(groups = ValidationGroup2.class, value = 10)
}) int param1, @Min(groups = ValidationGroup1.class, value = 7) int param2);
void constraintInLaterPartOfGroupSequence(@List({
@Min(groups = ValidationGroup2.class, value = 5), @Min(groups = ValidationGroup3.class, value = 10)
}) int param);
void constraintInLaterPartOfGroupSequenceAtDifferentParameters(@List({
@Min(groups = ValidationGroup2.class, value = 5), @Min(groups = ValidationGroup3.class, value = 10)
}) int param1, @Min(groups = ValidationGroup2.class, value = 7) int param2);
// methods used for return value validation tests
@NotNull(groups = ValidationGroup3.class)
String noConstraintInDefaultGroupAtReturnValue();
@NotNull(groups = ValidationGroup1.class)
String constraintInDefaultGroupAtReturnValue();
@List({
@Min(groups = ValidationGroup1.class, value = 5), @Min(groups = ValidationGroup2.class, value = 10)
})
int constraintsInAllPartOfDefaultSequence();
@List({
@Min(groups = ValidationGroup2.class, value = 5), @Min(groups = ValidationGroup3.class, value = 10)
})
int constraintsInAllPartsOfGroupSequence();
public interface ValidationGroup1 {
}
public interface ValidationGroup2 {
}
public interface ValidationGroup3 {
}
@GroupSequence({ ValidationGroup2.class, ValidationGroup3.class })
public interface ValidationSequence {
}
}