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. > > 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