com.opensymphony.xwork2.validator.annotations.Validation Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xwork Show documentation
Show all versions of xwork Show documentation
XWork is an command-pattern framework that is used to power WebWork
as well as other applications. XWork provides an Inversion of Control
container, a powerful expression language, data type conversion,
validation, and pluggable configuration.
/*
* Copyright (c) 2002-2006 by OpenSymphony
* All rights reserved.
*/
package com.opensymphony.xwork2.validator.annotations;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
*
* This annotation has been deprecated since 2.1 as its previous purpose, to define classes that support annotation validations,
* is no longer necessary.
*
*
* Annotation usage:
*
*
* The Validation annotation must be applied at Type level.
*
*
* Annotation parameters:
*
*
*
*
* Parameter
* Required
* Default
* Notes
*
*
* validations
* yes
*
*
*
*
*
*
* Example code:
*
* An Annotated Interface
*
*
* @Validation()
* public interface AnnotationDataAware {
*
* void setBarObj(Bar b);
*
* Bar getBarObj();
*
* @RequiredFieldValidator(message = "You must enter a value for data.")
* @RequiredStringValidator(message = "You must enter a value for data.")
* void setData(String data);
*
* String getData();
* }
*
*
*
* Example code:
*
* An Annotated Class
*
*
* @Validation()
* public class SimpleAnnotationAction extends ActionSupport {
*
* @RequiredFieldValidator(type = ValidatorType.FIELD, message = "You must enter a value for bar.")
* @IntRangeFieldValidator(type = ValidatorType.FIELD, min = "6", max = "10", message = "bar must be between ${min} and ${max}, current value is ${bar}.")
* public void setBar(int bar) {
* this.bar = bar;
* }
*
* public int getBar() {
* return bar;
* }
*
* @Validations(
* requiredFields =
* {@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "customfield", message = "You must enter a value for field.")},
* requiredStrings =
* {@RequiredStringValidator(type = ValidatorType.SIMPLE, fieldName = "stringisrequired", message = "You must enter a value for string.")},
* emails =
* { @EmailValidator(type = ValidatorType.SIMPLE, fieldName = "emailaddress", message = "You must enter a value for email.")},
* urls =
* { @UrlValidator(type = ValidatorType.SIMPLE, fieldName = "hreflocation", message = "You must enter a value for email.")},
* stringLengthFields =
* {@StringLengthFieldValidator(type = ValidatorType.SIMPLE, trim = true, minLength="10" , maxLength = "12", fieldName = "needstringlength", message = "You must enter a stringlength.")},
* intRangeFields =
* { @IntRangeFieldValidator(type = ValidatorType.SIMPLE, fieldName = "intfield", min = "6", max = "10", message = "bar must be between ${min} and ${max}, current value is ${bar}.")},
* dateRangeFields =
* {@DateRangeFieldValidator(type = ValidatorType.SIMPLE, fieldName = "datefield", min = "-1", max = "99", message = "bar must be between ${min} and ${max}, current value is ${bar}.")},
* expressions = {
* @ExpressionValidator(expression = "foo > 1", message = "Foo must be greater than Bar 1. Foo = ${foo}, Bar = ${bar}."),
* @ExpressionValidator(expression = "foo > 2", message = "Foo must be greater than Bar 2. Foo = ${foo}, Bar = ${bar}."),
* @ExpressionValidator(expression = "foo > 3", message = "Foo must be greater than Bar 3. Foo = ${foo}, Bar = ${bar}."),
* @ExpressionValidator(expression = "foo > 4", message = "Foo must be greater than Bar 4. Foo = ${foo}, Bar = ${bar}."),
* @ExpressionValidator(expression = "foo > 5", message = "Foo must be greater than Bar 5. Foo = ${foo}, Bar = ${bar}.")
* }
* )
* public String execute() throws Exception {
* return SUCCESS;
* }
* }
*
*
*
*
* @author Rainer Hermanns
* @deprecated Since Struts 2.1 because it isn't necessary anymore
* @version $Id: Validation.java 1833 2008-06-21 09:29:39Z rainerh $
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Validation {
/**
* Used for class or interface validation rules.
*/
Validations[] validations() default {};
}