On 17 March 2014 17:26, Benedikt Ritter <brit...@apache.org> wrote: > 2014-03-17 18:15 GMT+01:00 Gary Gregory <garydgreg...@gmail.com>: > >> On Mon, Mar 17, 2014 at 12:35 PM, Benedikt Ritter <brit...@apache.org >> >wrote: >> >> > Hi all, >> > >> > is it sensible to fall back to UTF-8? Looks like an opportunity for bugs >> to >> > sneak in. I'd rather have: >> > >> > public static CSVParser parse(final URL url, final Charset charset, >> final >> > CSVFormat format) >> > >> > where none of the params must be null, and: >> > >> > public static CSVParser parse(final URL url, final CSVFormat format) >> > >> > which uses UTF-8. This would be more explicit IMHO. >> > >> > WDYT? >> > >> >> IIRC the JRE uses the platform encoding if a charset is null for some APIs, >> so we could do that as well. >> > > Which is equally bad, IMHO. What is your opinion WRT default values? > If you have a bug in your app that for what ever reason passes null instead > of the charset you wanted it to pass, you're in trouble. That's why I think > providing two distinct methods is the better option here.
I'm inclined to agree. Defaulting null may make sense where there is a clear "best" choice for the parameter. But that is not really the case here for a charset - there is no "correct" default for CSV files. > >> >> Gary >> >> >> > Benedikt >> > >> > >> > 2014-03-17 1:50 GMT+01:00 <ggreg...@apache.org>: >> > >> > > Author: ggregory >> > > Date: Mon Mar 17 00:50:55 2014 >> > > New Revision: 1578191 >> > > >> > > URL: http://svn.apache.org/r1578191 >> > > Log: >> > > The charset can be null and will default to UTF-8. >> > > >> > > Modified: >> > > >> > > >> > >> commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java >> > > >> > > Modified: >> > > >> > >> commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java >> > > URL: >> > > >> > >> http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java?rev=1578191&r1=1578190&r2=1578191&view=diff >> > > >> > > >> > >> ============================================================================== >> > > --- >> > > >> > >> commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java >> > > (original) >> > > +++ >> > > >> > >> commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVParser.java >> > > Mon Mar 17 00:50:55 2014 >> > > @@ -183,7 +183,7 @@ public final class CSVParser implements >> > > * @param url >> > > * a URL. Must not be null. >> > > * @param charset >> > > - * the charset for the resource. Must not be null. >> > > + * the charset for the resource. If {@code null}, use >> > > {@code UTF-8}. >> > > * @param format >> > > * the CSVFormat used for CSV parsing. Must not be >> null. >> > > * @return a new parser >> > > @@ -194,7 +194,6 @@ public final class CSVParser implements >> > > */ >> > > public static CSVParser parse(final URL url, final Charset >> charset, >> > > final CSVFormat format) throws IOException { >> > > Assertions.notNull(url, "url"); >> > > - Assertions.notNull(charset, "charset"); >> > > Assertions.notNull(format, "format"); >> > > >> > > return new CSVParser(new InputStreamReader(url.openStream(), >> > > >> > > >> > > >> > >> > >> > -- >> > http://people.apache.org/~britter/ >> > http://www.systemoutprintln.de/ >> > http://twitter.com/BenediktRitter >> > http://github.com/britter >> > >> >> >> >> -- >> 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 >> > > > > -- > 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