net.sf.jasperreports.engine.query

## Class JRCsvQueryExecuterFactory

- java.lang.Object
- - net.sf.jasperreports.engine.query.AbstractQueryExecuterFactory
  - - net.sf.jasperreports.engine.query.JRCsvQueryExecuterFactory

- All Implemented Interfaces:
    JRQueryExecuterFactory, QueryExecuterFactory

      public class JRCsvQueryExecuterFactory
      extends AbstractQueryExecuterFactory

  Query executer factory for CSV file type.

  The factory creates `JRCsvQueryExecuter` query executers.
  Version:
    $Id: JRCsvQueryExecuterFactory.java 5878 2013-01-07 20:23:13Z teodord $
  Author:
    Narcis Marcu (narcism@users.sourceforge.net)

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `CSV_COLUMN_NAMES` Built-in parameter/property holding the value of the columns to be extracted from the CSV source.
    `static java.lang.String` | `CSV_COLUMN_NAMES_ARRAY` Built-in parameter holding the value of the columns to be extracted from the CSV source, as a `java.lang.String[]` object.
    `static java.lang.String` | `CSV_DATE_FORMAT` Built-in parameter holding the value of the `java.text.DateFormat` used to format date columns from the CSV source.
    `static java.lang.String` | `CSV_DATE_PATTERN` Built-in parameter/property holding the value of the date format pattern to be used when parsing the CSV data.
    `static java.lang.String` | `CSV_ENCODING` Built-in parameter/property holding the value of the charset used to encode the CSV stream.
    `static java.lang.String` | `CSV_FIELD_DELIMITER` Built-in parameter/property holding the value of the field delimiter from the CSV source.
    `static java.lang.String` | `CSV_FILE` Built-in parameter holding the value of the `java.io.File` to be used for obtaining the CSV data.
    `static java.lang.String` | `CSV_INPUT_STREAM` Built-in parameter holding the value of the `java.io.InputStream` to be used for obtaining the CSV data.
    `static java.lang.String` | `CSV_LOCALE` Built-in parameter holding the `java.util.Locale` value of the locale to be used when parsing the CSV data.
    `static java.lang.String` | `CSV_LOCALE_CODE` Built-in parameter/property holding the `java.lang.String` code of the locale to be used when parsing the CSV data.
    `static java.lang.String` | `CSV_NUMBER_FORMAT` Built-in parameter holding the value of the `java.text.NumberFormat` used to format numeric columns from the CSV source.
    `static java.lang.String` | `CSV_NUMBER_PATTERN` Built-in parameter/property holding the value of the number format pattern to be used when parsing the CSV data.
    `static java.lang.String` | `CSV_READER` Built-in parameter holding the value of the `java.io.Reader` to be used for obtaining the CSV data.
    `static java.lang.String` | `CSV_RECORD_DELIMITER` Build-in parameter/property holding the value of the record delimiter from the CSV source
    `static java.lang.String` | `CSV_SOURCE` Built-in parameter/property holding the value of the source for the CSV file.
    `static java.lang.String` | `CSV_TIMEZONE` Built-in parameter holding the `java.util.TimeZone` value of the timezone to be used when parsing the CSV data.
    `static java.lang.String` | `CSV_TIMEZONE_ID` Built-in parameter/property holding the `java.lang.String` value of the time zone id to be used when parsing the CSV data.
    `static java.lang.String` | `CSV_URL` Built-in parameter holding the value of the `java.net.URL` to be used for obtaining the CSV data.
    `static java.lang.String` | `CSV_USE_FIRST_ROW_AS_HEADER` Built-in parameter/property specifying whether or not the column names should be obtained from the first row in the CSV source.

    - ### Fields inherited from interface net.sf.jasperreports.engine.query.QueryExecuterFactory

      `QUERY_EXECUTER_FACTORY_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JRCsvQueryExecuterFactory()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `JRQueryExecuter` | `createQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, java.util.Map<java.lang.String,? extends JRValueParameter> parameters)` Creates a query executer.
    `java.lang.Object[]` | `getBuiltinParameters()` Returns the built-in parameters associated with this query type.
    `boolean` | `supportsQueryParameterType(java.lang.String className)` Decides whether the query executers created by this factory support a query parameter type.

    - ### Methods inherited from class net.sf.jasperreports.engine.query.AbstractQueryExecuterFactory

      `createQueryExecuter`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### CSV_SOURCE

          public static final java.lang.String CSV_SOURCE

      Built-in parameter/property holding the value of the source for the CSV file.

      It can be:
      - a resource on the classpath
      - a file from the filesystem, with an absolute or relative path
      - a url
      See Also:
        Constant Field Values

    - #### CSV_INPUT_STREAM

          public static final java.lang.String CSV_INPUT_STREAM

      Built-in parameter holding the value of the `java.io.InputStream` to be used for obtaining the CSV data.
      See Also:
        Constant Field Values

    - #### CSV_URL

          public static final java.lang.String CSV_URL

      Built-in parameter holding the value of the `java.net.URL` to be used for obtaining the CSV data.
      See Also:
        Constant Field Values

    - #### CSV_FILE

          public static final java.lang.String CSV_FILE

      Built-in parameter holding the value of the `java.io.File` to be used for obtaining the CSV data.
      See Also:
        Constant Field Values

    - #### CSV_READER

          public static final java.lang.String CSV_READER

      Built-in parameter holding the value of the `java.io.Reader` to be used for obtaining the CSV data.
      See Also:
        Constant Field Values

    - #### CSV_ENCODING

          public static final java.lang.String CSV_ENCODING

      Built-in parameter/property holding the value of the charset used to encode the CSV stream.

      It is meaningful only in combination with `CSV_INPUT_STREAM`, `CSV_URL` or `CSV_FILE`.
      See Also:
        Constant Field Values

    - #### CSV_COLUMN_NAMES

          public static final java.lang.String CSV_COLUMN_NAMES

      Built-in parameter/property holding the value of the columns to be extracted from the CSV source. When used as report parameter, the value has to be a `java.lang.String` object containing column names separated by commas. It can also be used as the prefix for custom dataset properties specifying the names of the CSV columns in the format: `net.sf.jasperreports.csv.column.names.{arbitrary_name}=value1[, value2, ...]`
      See Also:
        Constant Field Values

    - #### CSV_COLUMN_NAMES_ARRAY

          public static final java.lang.String CSV_COLUMN_NAMES_ARRAY

      Built-in parameter holding the value of the columns to be extracted from the CSV source, as a `java.lang.String[]` object.

      When this parameter is null or missing, its value defaults to the values provided by properties prefixed with `CSV_COLUMN_NAMES`.
      See Also:
        Constant Field Values

    - #### CSV_LOCALE

          public static final java.lang.String CSV_LOCALE

      Built-in parameter holding the `java.util.Locale` value of the locale to be used when parsing the CSV data.
      See Also:
        Constant Field Values

    - #### CSV_LOCALE_CODE

          public static final java.lang.String CSV_LOCALE_CODE

      Built-in parameter/property holding the `java.lang.String` code of the locale to be used when parsing the CSV data.

      The allowed format is: language[_country[_variant]]
      See Also:
        Constant Field Values

    - #### CSV_TIMEZONE

          public static final java.lang.String CSV_TIMEZONE

      Built-in parameter holding the `java.util.TimeZone` value of the timezone to be used when parsing the CSV data.
      See Also:
        Constant Field Values

    - #### CSV_TIMEZONE_ID

          public static final java.lang.String CSV_TIMEZONE_ID

      Built-in parameter/property holding the `java.lang.String` value of the time zone id to be used when parsing the CSV data.
      See Also:
        Constant Field Values

    - #### CSV_DATE_FORMAT

          public static final java.lang.String CSV_DATE_FORMAT

      Built-in parameter holding the value of the `java.text.DateFormat` used to format date columns from the CSV source.
      See Also:
        Constant Field Values

    - #### CSV_DATE_PATTERN

          public static final java.lang.String CSV_DATE_PATTERN

      Built-in parameter/property holding the value of the date format pattern to be used when parsing the CSV data.
      See Also:
        Constant Field Values

    - #### CSV_FIELD_DELIMITER

          public static final java.lang.String CSV_FIELD_DELIMITER

      Built-in parameter/property holding the value of the field delimiter from the CSV source.
      See Also:
        Constant Field Values

    - #### CSV_NUMBER_FORMAT

          public static final java.lang.String CSV_NUMBER_FORMAT

      Built-in parameter holding the value of the `java.text.NumberFormat` used to format numeric columns from the CSV source.
      See Also:
        Constant Field Values

    - #### CSV_NUMBER_PATTERN

          public static final java.lang.String CSV_NUMBER_PATTERN

      Built-in parameter/property holding the value of the number format pattern to be used when parsing the CSV data.
      See Also:
        Constant Field Values

    - #### CSV_RECORD_DELIMITER

          public static final java.lang.String CSV_RECORD_DELIMITER

      Build-in parameter/property holding the value of the record delimiter from the CSV source
      See Also:
        Constant Field Values

    - #### CSV_USE_FIRST_ROW_AS_HEADER

          public static final java.lang.String CSV_USE_FIRST_ROW_AS_HEADER

      Built-in parameter/property specifying whether or not the column names should be obtained from the first row in the CSV source. As parameter, it should hold a `java.lang.Boolean` value, while as custom dataset property, it should be true or false. If this parameter is set to true, then setting the `CSV_COLUMN_NAMES` or `CSV_COLUMN_NAMES_ARRAY` would have no effect.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### JRCsvQueryExecuterFactory

          public JRCsvQueryExecuterFactory()

  - ### Method Detail

    - #### getBuiltinParameters

          public java.lang.Object[] getBuiltinParameters()

      Description copied from interface: `QueryExecuterFactory`
      Returns the built-in parameters associated with this query type.

      These parameters will be created as system-defined parameters for each report/dataset having a query of this type.

      The returned array should contain consecutive pairs of parameter names and parameter classes (e.g. `{"Param1", String.class, "Param2", "List.class"}`).
      Returns:
        array of built-in parameter names and types associated with this query type

    - #### createQueryExecuter

          public JRQueryExecuter createQueryExecuter(JasperReportsContext jasperReportsContext,
                                            JRDataset dataset,
                                            java.util.Map<java.lang.String,? extends JRValueParameter> parameters)
                                              throws JRException

      Description copied from interface: `QueryExecuterFactory`
      Creates a query executer.

      This method is called at fill time for reports/datasets having a query supported by this factory.
      Parameters:
        `jasperReportsContext` - the JasperReportsContext
        `dataset` - the dataset containing the query, fields, etc
        `parameters` - map of value parameters (instances of `JRValueParameter`) indexed by name
      Returns:
        a query executer
      Throws:
        `JRException`

    - #### supportsQueryParameterType

          public boolean supportsQueryParameterType(java.lang.String className)

      Description copied from interface: `QueryExecuterFactory`
      Decides whether the query executers created by this factory support a query parameter type.

      This check is performed for all $P{..} parameters in the query.
      Parameters:
        `className` - the value class name of the parameter
      Returns:
        whether the parameter value type is supported

© 2001-2010 Jaspersoft Corporation www.jaspersoft.com