commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benedikt Ritter <benerit...@googlemail.com>
Subject Re: svn commit: r1303488 - /commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java
Date Wed, 21 Mar 2012 18:34:46 GMT
What about the Builder pattern we discussed lately? Several people
have expressed their feels for that solution.

Am 21. März 2012 19:20 schrieb  <sebb@apache.org>:
> Author: sebb
> Date: Wed Mar 21 18:20:05 2012
> New Revision: 1303488
>
> URL: http://svn.apache.org/viewvc?rev=1303488&view=rev
> Log:
> CSV-74 - CSVFormat definitions are difficult to read and maintain
>
> Modified:
>    commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java
>
> Modified: commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java
> URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java?rev=1303488&r1=1303487&r2=1303488&view=diff
> ==============================================================================
> --- commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java (original)
> +++ commons/proper/csv/trunk/src/main/java/org/apache/commons/csv/CSVFormat.java Wed
Mar 21 18:20:05 2012
> @@ -51,8 +51,23 @@ public class CSVFormat implements Serial
>      */
>     static final char DISABLED = '\ufffe';
>
> +    /**
> +     * Starting format with no settings defined; used for creating other formats from
scratch.
> +     */
> +    private static CSVFormat PRISTINE =
> +            new CSVFormat(DISABLED, DISABLED, DISABLED, DISABLED, false, false,
false, null, null);
> +
>     /** Standard comma separated format as defined by <a href="http://tools.ietf.org/html/rfc4180">RFC
4180</a>. */
> -    public static final CSVFormat DEFAULT = new CSVFormat(',', '"', DISABLED, DISABLED,
true, true, true, CRLF, null);
> +    public static final CSVFormat DEFAULT =
> +            PRISTINE.
> +            withDelimiter(',')
> +            .withEncapsulator('"')
> +            .withLeadingSpacesIgnored(true)
> +            .withTrailingSpacesIgnored(true)
> +            .withEmptyLinesIgnored(true)
> +            .withLineSeparator(CRLF)
> +            ;
> +
>
>     /**
>      * Excel file format (using a comma as the value delimiter).
> @@ -65,10 +80,23 @@ public class CSVFormat implements Serial
>      *
>      * <pre>CSVFormat fmt = CSVFormat.EXCEL.withDelimiter(';');</pre>
>      */
> -    public static final CSVFormat EXCEL = new CSVFormat(',', '"', DISABLED, DISABLED,
false, false, false, CRLF, null);
> +    public static final CSVFormat EXCEL =
> +            PRISTINE
> +            .withDelimiter(',')
> +            .withEncapsulator('"')
> +            .withLineSeparator(CRLF)
> +            ;
>
>     /** Tab-delimited format, with quote; leading and trailing spaces ignored. */
> -    public static final CSVFormat TDF = new CSVFormat('\t', '"', DISABLED, DISABLED,
true, true, true, CRLF, null);
> +    public static final CSVFormat TDF =
> +            PRISTINE
> +            .withDelimiter('\t')
> +            .withEncapsulator('"')
> +            .withLeadingSpacesIgnored(true)
> +            .withTrailingSpacesIgnored(true)
> +            .withEmptyLinesIgnored(true)
> +            .withLineSeparator(CRLF)
> +            ;
>
>     /**
>      * Default MySQL format used by the <tt>SELECT INTO OUTFILE</tt> and
> @@ -78,7 +106,12 @@ public class CSVFormat implements Serial
>      *
>      * @see <a href="http://dev.mysql.com/doc/refman/5.1/en/load-data.html">http://dev.mysql.com/doc/refman/5.1/en/load-data.html</a>
>      */
> -    public static final CSVFormat MYSQL = new CSVFormat('\t', DISABLED, DISABLED,
'\\', false, false, false, "\n", null);
> +    public static final CSVFormat MYSQL =
> +            PRISTINE
> +            .withDelimiter('\t')
> +            .withEscape('\\')
> +            .withLineSeparator("\n")
> +            ;
>
>
>     /**
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message