org.devware.batch.validator.ItemValidator.java Source code

Java tutorial

Introduction

Here is the source code for org.devware.batch.validator.ItemValidator.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package org.devware.batch.validator;

import java.util.Date;
import org.devware.batch.model.Item;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;

/**
* Cette classe effectue la validation des donnee relative a une persone. 
* Elle crree un contexte qui sera utilise par le processeur de validation
* afin de filtr ou d ' apport le traitement appropri au au donn
* erronnes de la classe Perssone 
* @see Item
*/
public class ItemValidator implements Validator {

    @Override
    public boolean supports(Class<?> arg0) {
        return arg0.isAssignableFrom(Item.class);
    }

    @Override
    public void validate(Object arg0, Errors errors) {
        Item item = null;
        try {
            item = (Item) arg0;
        } catch (ClassCastException cce) {
            errors.reject("Type de de donne incorrecte");
        }

        if (item != null) {
            validateName(item.getName(), errors);
            validateSurname(item.getSurname(), errors);
            validateDate(item.getDate(), errors);
        }
    }

    /**
    * Effecture le controle sur le date  d une personne. 
    * Le model ici etant constitu de la classe personne
    * L objet errors en parametre comporte des erreurs
    * Ces erreurs seront utilis par le processeur: les ligne errone sont 
    * pas traites par ce dernier
    *
    * @param  date   Le nom   valider de la personne
    * @param  errors L' objet erreur comportant les erreurs 
    * @see          ValidatingItemProcessor
    */
    protected void validateDate(Date date, Errors errors) {

        // on verifie si la date est null
        if (date == null) {
            errors.rejectValue("Personne.date", "error.null.date");
        }
        // on verifie le format de la date
        if (date != null && !date.toString().matches("[a-zA-Z]+")) {
            errors.rejectValue("Personne.date", "error.format.date");
        }
    }

    /**
    * Effectue le controle sur le prenom  d une personne. 
    * Le model ici etant constitu de la classe personne
    * L objet errors en parametre comporte des erreurs
    * Ces erreurs seront utilis par le processeur: les ligne errone sont 
    * pas traites par ce dernier
    *
    * @param  surname  Le nom   valider de la personne
    * @param  errors   Le objet errur comportant les erreurs
    * @see             ValidatingItemProcessor
    */
    protected void validateSurname(String surname, Errors errors) {

        // on verifie si le format est null
        if (surname == null) {
            errors.rejectValue("Personne.surname", "error.null.surname");
        }

        // on verifie le format du prenom
        if (surname != null && !surname.matches("[a-z][A-Z]+")) {
            errors.rejectValue("Personne.surname", "error.format.surname");
        }
    }

    /**
    * Effecture le controle sur le nom  d une personne. 
    * Le model ici etant constitu de la classe personne
    * L objet errors en parametre comporte des erreurs
    * Ces erreurs seront utilis par le processeur: les ligne errone sont 
    * pas traites par ce dernier
    *
    * @param  name   Le nom   valider de la personne
    * @param  errors L objet errur comportant les erreur lors de la validation
    * @see           ValidatingItemProcessor
    */
    protected void validateName(String name, Errors errors) {

        // on verifie si le nom est null
        if (name == null) {
            errors.rejectValue("Personne.name", "error.null.name");
        }

        // on verifie si le nom est alphabetique
        if (name != null && !name.matches("[a-z][A-Z]+")) {
            errors.rejectValue("Personne.name", "error.format.name");
        }
    }

}