Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

de.caffeine.jargus
Class Validation  view Validation download Validation.java

java.lang.Object
  extended byde.caffeine.jargus.Validation

public class Validation
extends java.lang.Object

This class provides an simple framework for http parameter validation, useful in java servlets, jsp pages (using taglibs) and other java based application with the need of validation of parameters before processing.

It comes with common validation cases, which can be extended with appropriate validations by implementing validator interface.

Design of these classes was lead by the feeling that implementation of validation and processing of validation results have to be separated and plugable. It contains three basic elements Validator which carry out validation as simple and encapsulated operations, ValidationHandler which receive notifications of the results of the done validations and Validation which does does the background processing of starting Validator objects, notify ValidationHandler and handling provided parameters.

Validation is the only fixed part in this design, as Validator and ValidationHandlers are merely interfaces with example implementations.

Usage:

Create a Validation object:

 Validation pv = new Validation();
 

Create a object implemeting ValidationHandler interface and set it as ValidationHandler for Validation object:

 ValidationHandler handler = new SimpleValidationHandler();
 pv.setHandler(handler);
 
ValidationHandler object will be notified in case of validation errors and warning (not implemented yet).

Set parameter keys and values submitted from client:

 pv.addParameter("parameter1", "1v");
 pv.addParameter("parameter2", "2v");
 
aquivalent to:
 HashMap parameters;
 pv.setParameters(parameters);
 
or:
 ServletRequest request;
 pv.addParameters(request);
 

Different kinds of validation can be managed using objects of classes implementing Validator interface. These object are added with addCheck(Validator) method.

 Validator existValidator = new ExistValidator("parameter1");
 pv.addCheck(existValidator);
 

Depending on the kind of validation optional and mandatory arguments can be provided.

 EqualValidator ev = new EqualValidator();
 ev.addValidationParameter("e1");
 ev.addValidationParameter("e2");
 ev.addValidationArgument("2");
 pv.addCheck(ev);

 ContainsValidator contains = new ContainsValidator();
 contains.addValidationParameter("email");
 contains.addValidationArgument("@");
 pv.addCheck(contains);
 

The actual validation is started with validate methode. Which will execute all added validators and notify ValidationHandler object in case of validation errors.

 pv.validate();
 

Version:
$Id: Validation.java,v 1.2 2001/04/25 18:17:32 blob79 Exp $

Field Summary
private  java.util.ArrayList _checks
          Executed Checks
private  ValidationHandler _handler
          All known handlers
private  java.util.HashMap _parameters
          Parameters of this Request
private  Validator lnkValidator
           
 
Constructor Summary
Validation()
           
 
Method Summary
 void addCheck(Validator validator)
          Add a new Check.
 void addParameter(java.lang.String key, java.lang.String value)
          Add Parameter.
 ValidationHandler getHandler()
          Get handler.
 java.lang.String getParameter(java.lang.String key)
           
 void removeAllChecks()
          Remove all Validators
 void removeCheck(Validator validator)
          Remove a Validator
 void setHandler(ValidationHandler handler)
          Add handler which will be notified in case of errors and warnings.
 void setParameters(java.util.HashMap parameters)
          Set Parameters of current Request.
 void setParameters(javax.servlet.ServletRequest request)
          Set Parameters of current Request.
 boolean validate()
          Process validation.
private  boolean validate(java.util.ArrayList parametersToCheck)
          Process validation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_handler

private ValidationHandler _handler
All known handlers


_parameters

private java.util.HashMap _parameters
Parameters of this Request


_checks

private java.util.ArrayList _checks
Executed Checks


lnkValidator

private Validator lnkValidator
Constructor Detail

Validation

public Validation()
Method Detail

setParameters

public void setParameters(java.util.HashMap parameters)
Set Parameters of current Request.


setParameters

public void setParameters(javax.servlet.ServletRequest request)
Set Parameters of current Request.


addParameter

public void addParameter(java.lang.String key,
                         java.lang.String value)
Add Parameter.


getParameter

public java.lang.String getParameter(java.lang.String key)

addCheck

public void addCheck(Validator validator)
Add a new Check.


removeCheck

public void removeCheck(Validator validator)
Remove a Validator


removeAllChecks

public void removeAllChecks()
Remove all Validators


setHandler

public void setHandler(ValidationHandler handler)
Add handler which will be notified in case of errors and warnings.


getHandler

public ValidationHandler getHandler()
Get handler.


validate

public boolean validate()
Process validation.


validate

private boolean validate(java.util.ArrayList parametersToCheck)
Process validation