Perhaps it belongs in Commons Lang? Anything like this that you try to put together is going to blow up really quickly, by the way (registering new converter types, etc.). I don't see how having a few little helper methods in CSV is that big of an issue, personally.
On Thu, Aug 1, 2013 at 7:59 PM, Paul Benedict <paulus.benedic...@gmail.com> wrote: > You might want to think of a conversion addon package using Common > BeanUtils. That project is skilled at conversions from String and has > pluggable capability to customize conversion types. > On Aug 1, 2013 6:51 PM, "Paul Benedict" <pbened...@apache.org> wrote: > >> None of these methods document exceptions if the conversion fails (eg, not >> an integer). Also, how strict is the conversion? Can "x" represent boolean >> false or is that an exception? >> On Aug 1, 2013 9:00 AM, "Gary Gregory" <garydgreg...@gmail.com> wrote: >> >>> I would like to note this CSVRecord addition I am planning on: >>> >>> public Boolean getBoolean(String name) { >>> public boolean getBooleanPrimitive(String name) >>> >>> The method listings are at the end of this message. >>> >>> What I want to note here is that these are conversion methods and that the >>> record still stores the values internally as Strings. I do not want to >>> Javadoc the conversion in order to give us flexibility over representation >>> if we decide to change it in the future (caching or whatnot). >>> >>> I wanted to post here in CTR mode before I or others add APIs like >>> getLong() and getLongPrimitive(). Since this is a library, I do believe we >>> should end up providing such APIs at the record level for primitives. >>> >>> /** >>> * Returns a value by name. >>> * >>> * @param name >>> * the name of the column to be retrieved. >>> * @return the column value, or {@code null} if the column name is not >>> found >>> * @throws IllegalStateException >>> * if no header mapping was provided >>> * @throws IllegalArgumentException >>> * if the record is inconsistent >>> * @see #isConsistent() >>> */ >>> public Boolean getBoolean(String name) { >>> String s = this.get(name); >>> return s != null ? Boolean.valueOf(s) : null; >>> } >>> >>> /** >>> * Returns a value by name. >>> * >>> * @param name >>> * the name of the column to be retrieved. >>> * @return the column value, or {@code false} if the column name is >>> not >>> found >>> * @throws IllegalStateException >>> * if no header mapping was provided >>> * @throws IllegalArgumentException >>> * if the record is inconsistent >>> * @see #isConsistent() >>> */ >>> public boolean getBooleanPrimitive(String name) { >>> return Boolean.parseBoolean(this.get(name)); >>> } >>> >>> Gary >>> >>> -- >>> 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