/*
* 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.constrainttypes;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import javax.validation.Constraint;
import javax.validation.Payload;
/**
* @author Gunnar Morling
*/
public interface ConstraintsWithWrongPayloadAttribute {
/**
* Compilation error expected due to missing payload attribute.
*/
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = { DummyValidator.class })
public @interface ConstraintWithoutPayloadParameter {
String message() default "";
Class<?>[] groups() default { };
}
/**
* Compilation error expected due to payload attribute of wrong type.
*/
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = { DummyValidator.class })
public @interface ConstraintWithPayloadParameterWithWrongType1 {
String message() default "";
Class<?>[] groups() default { };
int[] payload() default { };
}
/**
* Compilation error expected due to payload attribute of non-array class type.
*/
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = { DummyValidator.class })
public @interface ConstraintWithPayloadParameterWithWrongType2 {
String message() default "";
Class<?>[] groups() default { };
Class<? extends Payload> payload();
}
/**
* Compilation error expected due to payload attribute with wrong extends bound.
*/
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = { DummyValidator.class })
public @interface ConstraintWithPayloadParameterWithWrongExtendsBound {
String message() default "";
Class<?>[] groups() default { };
Class<? extends Long>[] payload() default { };
}
/**
* Compilation error expected due to payload attribute without extend bound.
*/
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = { DummyValidator.class })
public @interface ConstraintWithPayloadParameterWithoutExtendsBound {
String message() default "";
Class<?>[] groups() default { };
Class<?>[] payload() default { };
}
/**
* Compilation error expected due to payload attribute with super bound.
*/
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = { DummyValidator.class })
public @interface ConstraintWithPayloadParameterWithSuperBound {
String message() default "";
Class<?>[] groups() default { };
Class<? super Payload>[] payload() default { };
}
/**
* Compilation error expected due missing default value for payload attribute.
*/
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = { DummyValidator.class })
public @interface ConstraintWithPayloadParameterWithoutDefaultValue {
String message() default "";
Class<?>[] groups() default { };
Class<? extends Payload>[] payload();
}
/**
* Compilation error expected due to non-empty default value for payload attribute.
*/
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = { DummyValidator.class })
public @interface ConstraintWithPayloadParameterWithNonEmptyDefaultValue {
String message() default "";
Class<?>[] groups() default { };
Class<? extends Payload>[] payload() default { SamplePayload.class };
}
/**
* No compilation error expected.
*/
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = { DummyValidator.class })
public @interface ConstraintWithCorrectPayloadParameter {
String message() default "";
Class<?>[] groups() default { };
Class<? extends Payload>[] payload() default { };
}
class SamplePayload implements Payload {
}
}