/* * 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 static java.lang.annotation.ElementType.CONSTRUCTOR; import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; import static org.hibernate.validator.internal.util.CollectionHelper.newHashMap; import java.lang.annotation.Retention; import java.lang.annotation.Target; import java.util.Arrays; import java.util.List; import java.util.Map; import javax.validation.Constraint; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import javax.validation.Payload; import javax.validation.Valid; import javax.validation.constraints.NotNull; import org.hibernate.validator.test.internal.engine.methodvalidation.model.Customer; import org.joda.time.DateMidnight; /** * @author Gunnar Morling */ public class CustomerRepositoryImpl implements CustomerRepository { @NotNull private final Customer customer = null; @ValidB2BRepository public CustomerRepositoryImpl() { } @Valid public CustomerRepositoryImpl(@NotNull String id) { } public CustomerRepositoryImpl(@Valid Customer customer) { } @Override public Customer findCustomerByName(String name) { return null; } @Override public void persistCustomer(Customer customer) { } @Override public void cascadingMapParameter(Map<String, Customer> customer) { } @Override public void cascadingIterableParameter(List<Customer> customer) { } @Override public void iterableParameterWithCascadingTypeParameter(List<Customer> customer) { } @Override public void cascadingArrayParameter(Customer... customer) { } @Override public void findCustomerByAgeAndName(Integer age, String name) { } @Override public void cascadingParameter(Customer param1, Customer param2) { } @Override public Customer findById(Long id) { return null; } @Override public void foo(Long id) { } @Override public void bar(Customer customer) { } @Override public void boz() { } @Override public int baz() { return 9; } @Override public Customer cascadingReturnValue() { return new Customer( null ); } @Override public List<Customer> cascadingIterableReturnValue() { return Arrays.asList( null, new Customer( null ) ); } @Override public Map<String, Customer> cascadingMapReturnValue() { Map<String, Customer> theValue = newHashMap(); theValue.put( "Bob", new Customer( null ) ); return theValue; } @Override public Customer[] cascadingArrayReturnValue() { return new Customer[] { null, new Customer( null ) }; } @Override public Customer overriddenMethodWithCascadingReturnValue() { return new Customer( null ); } @Override public void parameterConstraintInGroup(String name) { } @Override public int overriddenMethodWithReturnValueConstraint() { return 3; } @Override public int getFoo(int i) { return 0; } @Override public int getFoo(String s) { return 0; } @Override public void methodWithCrossParameterConstraint(DateMidnight start, DateMidnight end) { } @Constraint(validatedBy = { ValidB2BRepositoryValidator.class }) @Target({ TYPE, CONSTRUCTOR }) @Retention(RUNTIME) public @interface ValidB2BRepository { String message() default "{ValidB2BRepository.message}"; Class<?>[] groups() default { }; Class<? extends Payload>[] payload() default { }; } public static class ValidB2BRepositoryValidator implements ConstraintValidator<ValidB2BRepository, CustomerRepositoryImpl> { @Override public boolean isValid(CustomerRepositoryImpl repository, ConstraintValidatorContext context) { return false; } } }