org.openxava.annotations
Annotation Type EntityValidator


@Retention(value=RUNTIME)
@Target(value=TYPE)
@ValidatorClass(value=EntityValidatorValidator.class)
public @interface EntityValidator

This validator allows to define a validation at entity level.

Applies to entities.

When you need to make a validation on several properties at a time, and that validation does not correspond logically with any of them, then you can use this type of validation.
Example:

  @Entity
  @EntityValidator(InvoiceDetailValidator.class,
    properties= { 
      @PropertyValue(name="invoice"), 
      @PropertyValue(name="oid"), 
      @PropertyValue(name="product"),
      @PropertyValue(name="unitPrice")
    }
  )
  public class InvoiceDetail {
  ...
 
EntityValidator is also implemented as a Hibernate validation, therefore it's executed when you save using JPA or Hibernate API, with the exception of onlyOnCreate=true, in this last case the validation is only applied when you save with OpenXava (using MapFacade or standard OX actions).

Author:
Javier Paniza

Required Element Summary
 java.lang.Class value
          Class that implements the validation logic.
 
Optional Element Summary
 java.lang.String message
           
 boolean onlyOnCreate
          If true the validator is executed only when creating a new object, not when an existing object is modified.
 PropertyValue[] properties
          To set values to the validator properties before executing it.
 

Element Detail

value

public abstract java.lang.Class value
Class that implements the validation logic. It has to be of type IValidator.

properties

public abstract PropertyValue[] properties
To set values to the validator properties before executing it.

Default:
{}

onlyOnCreate

public abstract boolean onlyOnCreate
If true the validator is executed only when creating a new object, not when an existing object is modified.

Default:
false

message

public abstract java.lang.String message
Default:
"openxava.entityValidator"