Class CSVTool

  • All Implemented Interfaces:
    java.io.Serializable

    public class CSVTool
    extends java.lang.Object
    implements java.io.Serializable
    CSV toolbox
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      CSVTool​(char separator, char quote)
      Constructor: CSV tool (parser, ...)
      CSVTool​(char separator, char quote, java.lang.String cr)
      Constructor: CSV tool (parser, ...)
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static void export​(ObjectDB obj, java.util.List<java.lang.String[]> rows, java.lang.String mode, java.lang.String sep, boolean techfields, java.io.PrintWriter out)
      Export object as CSV
      static java.lang.String export​(ObjectDB obj, java.util.List<java.lang.String[]> rows, java.lang.String mode, java.lang.String sep, boolean techfields, javax.servlet.http.HttpServletResponse response)
      Export object as CSV
      static java.util.List<ObjectField> getVisibleColumns​(ObjectDB obj, java.lang.String mode, boolean tech)
      Visible columns to export
      static boolean isFormVisible​(boolean full, ObjectCore obj, ObjectField f)
      Is field visible for CSV export in a single record context
      static boolean isListVisible​(boolean full, ObjectCore obj, ObjectField f)
      Is field visible for CSV export in a multiple records context
      static java.lang.String objectToCSV​(ObjectDB obj, java.util.List<java.lang.String[]> rows, java.lang.String mode, java.lang.String sep, java.lang.String quote, boolean tech)
      Deprecated. 
      static void objectToCSV​(ObjectDB obj, java.util.List<java.lang.String[]> rows, java.lang.String mode, java.lang.String sep, java.lang.String quote, boolean tech, java.io.PrintWriter out)
      Export to CSV
      java.lang.String[] parse​(java.lang.String line)
      Parse CSV string into string array (not support multi-lines)
      java.lang.String[] parse​(java.lang.String line, boolean trim)
      Parse CSV string into string array (not support multi-lines)
      java.lang.String serialize​(java.lang.String field)
      Serialize string
      java.lang.String serialize​(java.lang.String[] fields)
      Serialize string array into CSV string
      static java.lang.String serialize​(java.lang.String[] fields, java.lang.String quote, java.lang.String sep)
      Serialize string array into CSV string
      static java.lang.String serialize​(java.lang.String field, java.lang.String quote, java.lang.String sep)
      Serialize string
      java.lang.String serialize​(java.util.List<java.lang.String> fields)
      Serialize string list into CSV string
      static java.lang.String serialize​(java.util.List<java.lang.String> fields, java.lang.String quote, java.lang.String sep)
      Serialize string array into CSV string
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CSVTool

        public CSVTool​(char separator,
                       char quote,
                       java.lang.String cr)
        Constructor: CSV tool (parser, ...)
        Parameters:
        separator - Separator (e.g. ,)
        quote - Quote character (e.g. ")
        cr - Carriage return substitution (e.g. "%CR%"), can be a regular expression
      • CSVTool

        public CSVTool​(char separator,
                       char quote)
        Constructor: CSV tool (parser, ...)
        Parameters:
        separator - Separator (e.g. ,)
        quote - Quote character (e.g. ")
    • Method Detail

      • parse

        public java.lang.String[] parse​(java.lang.String line)
        Parse CSV string into string array (not support multi-lines)
        Parameters:
        line - Input CSV string
        Returns:
        Array of strings
      • parse

        public java.lang.String[] parse​(java.lang.String line,
                                        boolean trim)
        Parse CSV string into string array (not support multi-lines)
        Parameters:
        line - Input CSV string
        trim - Trim values
        Returns:
        Array of strings
      • serialize

        public static java.lang.String serialize​(java.lang.String field,
                                                 java.lang.String quote,
                                                 java.lang.String sep)
        Serialize string
        Parameters:
        field - String
        quote - Quote string
        sep - Field separator
        Returns:
        Encoded string
      • serialize

        public java.lang.String serialize​(java.lang.String field)
        Serialize string
        Parameters:
        field - String
        Returns:
        Encoded string
      • serialize

        public static java.lang.String serialize​(java.lang.String[] fields,
                                                 java.lang.String quote,
                                                 java.lang.String sep)
        Serialize string array into CSV string
        Parameters:
        fields - String array
        quote - Quote string
        sep - Field separator
        Returns:
        Encoded string
      • serialize

        public java.lang.String serialize​(java.lang.String[] fields)
        Serialize string array into CSV string
        Parameters:
        fields - String array
        Returns:
        CSV string
      • serialize

        public static java.lang.String serialize​(java.util.List<java.lang.String> fields,
                                                 java.lang.String quote,
                                                 java.lang.String sep)
        Serialize string array into CSV string
        Parameters:
        fields - String array
        quote - Quote string
        sep - Field separator
        Returns:
        Encoded string
      • serialize

        public java.lang.String serialize​(java.util.List<java.lang.String> fields)
        Serialize string list into CSV string
        Parameters:
        fields - String list
        Returns:
        CSV string
      • isListVisible

        public static boolean isListVisible​(boolean full,
                                            ObjectCore obj,
                                            ObjectField f)
        Is field visible for CSV export in a multiple records context
        Parameters:
        full - Full mode?
        obj - Object
        f - Field
        Returns:
        true if field is visible in a multiple records context
      • isFormVisible

        public static boolean isFormVisible​(boolean full,
                                            ObjectCore obj,
                                            ObjectField f)
        Is field visible for CSV export in a single record context
        Parameters:
        full - Full mode?
        obj - Object
        f - Field
        Returns:
        true if field is visible in a single record context
      • getVisibleColumns

        public static java.util.List<ObjectField> getVisibleColumns​(ObjectDB obj,
                                                                    java.lang.String mode,
                                                                    boolean tech)
        Visible columns to export
        Parameters:
        obj - Object
        mode - Export mode
        tech - Technical export
        Returns:
        Visible columns to export
      • objectToCSV

        public static void objectToCSV​(ObjectDB obj,
                                       java.util.List<java.lang.String[]> rows,
                                       java.lang.String mode,
                                       java.lang.String sep,
                                       java.lang.String quote,
                                       boolean tech,
                                       java.io.PrintWriter out)
        Export to CSV
        Parameters:
        obj - Object
        rows - Records (searchExport with pagination if null)
        mode - Full or list
        sep - Columns separator (default ;)
        quote - Quote (default ")
        tech - Technical fields
        out - Output stream writer
      • objectToCSV

        @Deprecated(forRemoval=false,
                    since="4.0")
        public static java.lang.String objectToCSV​(ObjectDB obj,
                                                   java.util.List<java.lang.String[]> rows,
                                                   java.lang.String mode,
                                                   java.lang.String sep,
                                                   java.lang.String quote,
                                                   boolean tech)
        Deprecated.
        Export to CSV
      • export

        public static void export​(ObjectDB obj,
                                  java.util.List<java.lang.String[]> rows,
                                  java.lang.String mode,
                                  java.lang.String sep,
                                  boolean techfields,
                                  java.io.PrintWriter out)
        Export object as CSV
        Parameters:
        obj - Object
        rows - Data records (pagination if null)
        mode - Full or list
        sep - CSV separator
        techfields - Technical fields?
        out - Printer
      • export

        public static java.lang.String export​(ObjectDB obj,
                                              java.util.List<java.lang.String[]> rows,
                                              java.lang.String mode,
                                              java.lang.String sep,
                                              boolean techfields,
                                              javax.servlet.http.HttpServletResponse response)
        Export object as CSV
        Parameters:
        obj - Object
        rows - Data records (pagination if null)
        mode - Full or list
        sep - CSV separator
        techfields - Technical fields?
        response - optional HTTP response
        Returns:
        null or tmp file name if response is null