On 15 May 2014 14:21, Gary Gregory <garydgreg...@gmail.com> wrote: > 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);
The delimiter and escape character must not match most other items. The method would need to set just about everything ... > ? > > 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 --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org