
org.hibernate.validator.constraints.EAN Maven / Gradle / Ivy
Go to download
Following the DRY (Don't Repeat Yourself) principle, Hibernate Validator let's you express your domain constraints once (and only once) and ensure their compliance at various level of your system automatically.
/*
* 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.constraints;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import javax.validation.Constraint;
import javax.validation.Payload;
import javax.validation.ReportAsSingleViolation;
import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
* Checks that the annotated character sequence is a valid
* EAN 13 number. The length of the
* number and the check digit are verified
*
*
* The supported type is {@code CharSequence}. {@code null} is considered valid.
*
*
* @author Hardy Ferentschik
*/
@Documented
@Constraint(validatedBy = { })
@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
@Retention(RUNTIME)
@ReportAsSingleViolation
@Mod10Check
public @interface EAN {
String message() default "{org.hibernate.validator.constraints.EAN.message}";
Class>[] groups() default { };
Class extends Payload>[] payload() default { };
Type type() default Type.EAN13;
/**
* Defines several {@code @NotBlank} annotations on the same element.
*/
@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
@Retention(RUNTIME)
@Documented
public @interface List {
EAN[] value();
}
enum Type {
EAN13,
EAN8
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy