Title: RE: [Hibernate] Better validate on property and value ?

Whats wrong with doing:

public boolean isValid(Mapping mapping) {

    try {
        validate(mapping);
    } catch (MappingException me) {
        return false;
    }

    return true;
}

?

At least that way you get the added functionality of the validate method and still retain the old functionality...
Its an obvious solution, I know, but anything that gives flexibility and control without cluttering up things or breaking OO principles is probably a good thing I would think...

Perhaps a better approach would be to do something similar to Spring's Validator.  At least that way gives you more control over identifying which fields were invalid (if you need that information):

public boolean isValid(Mapping mapping) {

      Validator validator = new MappingValidator();
      Errors errors = new Errors();
      validator.validate(mapping, errors);
      //Errors object encapsulates locale specific messages
      //and a bunch of other stuff...
      if (errors.isEmpty()) {
          return true;
      } else {
          //do other stuff with error info, if needed
          //...

          return false;
      }
}

(of course another approach is to have validate(mapping) return an Errors instance and check for null before processing...

Just thinking out loud...

Les

> -----Original Message-----
> From: Max Rydahl Andersen [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, December 30, 2003 5:18 PM
> To: hibernate-devel
> Subject: [Hibernate] Better validate on property and value ?
>
>
> Hi!
>
> Should we not make a validate(Mapping) on property and value which
> throws appropiate exceptions (especially with a more precise message)
> the the current on in ClassPersister which just call's isValid() and
> assumes it has soemthing to do with number of columns....
>
> Any reasons/arguments against having validate(Mapping) throws
> MappingException instead isValid(Mapping) that just return
> true/false ?
> (we could implement isValid(Mapping) in terms of validate(Mapping).
>
> /max
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: IBM Linux Tutorials.
> Become an expert in LINUX or just sharpen your skills.  Sign
> up for IBM's Free Linux Tutorials.  Learn everything from the
> bash shell to sys admin. Click now!
> http://ads.osdn.com/?ad_id=1278&alloc_id=3371> &op=click
>
> _______________________________________________
>
> hibernate-devel mailing list [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/hibernate-devel
>

Reply via email to