On Wed, May 14, 2014 at 3:19 PM, sebb <seb...@gmail.com> wrote:

> On 13 May 2014 16:53, Benedikt Ritter <brit...@apache.org> wrote:
> > Hi,
> >
> >
> > 2014-05-13 12:06 GMT+02:00 sebb <seb...@gmail.com>:
> >
> >> At present, validate() is not invoked until the format is used. This
> >> means that invalid arguments are not detected at the point they are
> >> provided.
> >>
> >> It would be possible to run validate as part of the withArgument()
> >> methods. This would allow earlier detection, and avoid the issue that
> >> currently some incorrect arguments may generate ISE rather than IAE.
> >>
> >> I think the only possible user problem is that escape must be set
> >> before using Quote.NONE as the policy, but this could be documented.
> >> Otherwise AFAICT the arguments can be set in any order.
> >>
> >
> > Validating the format when it is constructed rather then when it is used
> is
> > a good idea. But I think the only way to do this in a usable way is to
> use
> > the builder pattern. There are several field that depend on each other
> > during the validation. We don't want end up having user to look up the
> > validate code in order to be able to create formats...
>
> I agree it would be better to use the builder pattern, but I lost that
> argument.
>
> I think it should still be possible to validate each argument
> separately, even though they do depend on each other.
>
> However, it would prevent some subsequent changes to formats unless
> they were done in the correct order.
> e.g. if one wanted to swap the escape and delimiter characters that
> would be a bit tricky.
> But I don't see the need to support all possible sequences of updates
> to formats, so long as a format can easily be fully configured
> initially.
>

Would it make sense to provide an API that sets all aspects of settings
that are interdependent?

setEscapeAndDelimiter(esc, delim);

?

Gary

>
> > Benedikt
> >
> >
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> >> For additional commands, e-mail: dev-h...@commons.apache.org
> >>
> >>
> >
> >
> > --
> > http://people.apache.org/~britter/
> > http://www.systemoutprintln.de/
> > http://twitter.com/BenediktRitter
> > http://github.com/britter
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
>
>


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to