Class CsvTransformer


  • public class CsvTransformer
    extends Object
    Common transformation methods for CSV payload.
    • Method Detail

      • getHeader

        public static String[] getHeader​(org.wso2.carbon.module.core.models.CsvPayloadInfo payloadInfo,
                                         HeaderAvailability headerAvailability)
        Get CSV header.
        Parameters:
        payloadInfo - CSV payload info object.
        headerAvailability - Header availability.
        Returns:
        Generated CSV header.
      • getLinesToSkip

        public static int getLinesToSkip​(HeaderAvailability headerAvailability,
                                         int dataRowsToSkip)
        Return lines to skip from CSV content.
        Parameters:
        headerAvailability - Header availability.
        dataRowsToSkip - Data rows to skip.
        Returns:
        Number of rows to skip from CSV content.
      • skipColumns

        public static Stream<String[]> skipColumns​(int columnCount,
                                                   String skipColumnsQuery,
                                                   Stream<String[]> csvArrayStream,
                                                   String[] header)
        Skip columns from CSV content.
        Parameters:
        columnCount - Number of columns in the CSV content.
        skipColumnsQuery - Skip columns query.
        csvArrayStream - CSV array stream.
        header - CSV header.
        Returns:
        CSV stream with skipped columns.
      • skipColumnsSingleRow

        public static String[] skipColumnsSingleRow​(int columnCount,
                                                    String columnsToSkip,
                                                    String[] row,
                                                    String[] header)
        Skip columns from the given CSV row.
        Parameters:
        columnCount - Number of columns in the CSV.
        columnsToSkip - Columns to skip.
        row - CSV row.
        header - CSV header.
        Returns:
        CSV row of skipped columns.
      • resolveColumnIndex

        public static int resolveColumnIndex​(String query,
                                             String[] header)
        Get column index by the given query.
        Parameters:
        query - Column query.
        header - CSV header.
        Returns:
        Index resolved by the given query. -1 if no column is resolved.