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