All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.validation.super.javax.validation.constraints.Pattern Maven / Gradle / Ivy

There is a newer version: 2.10.0
Show newest version
// $Id: Pattern.java 17620 2009-10-04 19:19:28Z hardy.ferentschik $
/*
 * JBoss, Home of Professional Open Source Copyright 2009, Red Hat, Inc. and/or
 * its affiliates, and individual contributors by the @authors tag. See the
 * copyright.txt in the distribution for a full listing of individual
 * contributors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by
 * applicable law or agreed to in writing, software distributed under the
 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
 * OF ANY KIND, either express or implied. See the License for the specific
 * language governing permissions and limitations under the License.
 */
// Modified by Google.
package javax.validation.constraints;

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;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import javax.validation.Constraint;
import javax.validation.Payload;

/**
 * The annotated String must match the following regular expression. The regular
 * expression follows the Java regular expression conventions see
 * {@link java.util.regex.Pattern}.
 *
 * 

* Accepts String. null elements are considered valid. * *

* GWT Modification: Reference to java.util.regex.Pattern are inlined * * @author Emmanuel Bernard */ @Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER}) @Retention(RUNTIME) @Documented @Constraint(validatedBy = {}) public @interface Pattern { /** * @return The regular expression to match. */ String regexp(); /** * @return Array of Flags considered when resolving the regular * expression. */ Flag[] flags() default {}; /** * @return The error message template. */ String message() default "{javax.validation.constraints.Pattern.message}"; /** * @return The groups the constraint belongs to. */ Class[] groups() default {}; /** * @return The payload associated to the constraint */ Class[] payload() default {}; /** * Possible Regexp flags */ public static enum Flag { /** * Enables Unix lines mode * * @see java.util.regex.Pattern#UNIX_LINES */ UNIX_LINES(1), /** * Enables case-insensitive matching * * @see java.util.regex.Pattern#CASE_INSENSITIVE */ CASE_INSENSITIVE(2), /** * Permits whitespace and comments in pattern * * @see java.util.regex.Pattern#COMMENTS */ COMMENTS(4), /** * Enables multiline mode * * @see java.util.regex.Pattern#MULTILINE */ MULTILINE(8), /** * Enables dotall mode * * @see java.util.regex.Pattern#DOTALL */ DOTALL(32), /** * Enables Unicode-aware case folding * * @see java.util.regex.Pattern#UNICODE_CASE */ UNICODE_CASE(64), /** * Enables canonical equivalence * * @see java.util.regex.Pattern#CANON_EQ */ CANON_EQ(128); // JDK flag value private final int value; private Flag(int value) { this.value = value; } /** * @return flag value as defined in {@link java.util.regex.Pattern} */ public int getValue() { return value; } } /** * Defines several @Pattern annotations on the same element * * @see Pattern * * @author Emmanuel Bernard */ @Target({METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER}) @Retention(RUNTIME) @Documented @interface List { Pattern[] value(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy