Class BeanInstructionsImpl

    • Constructor Detail

      • BeanInstructionsImpl

        public BeanInstructionsImpl​(Class beanClass)
    • Method Detail

      • setEscape

        public BeanInstructions setEscape​(char symbol)
        Description copied from interface: BeanInstructions
        Sets the character that will be interpreted as an escape symbol while within a quoted field. This method is called whenever CsvFile.escape() is used. The default value for this setting is a double quote (") symbol. This call is a facade for RowInstructions.setEscape(char).
        Specified by:
        setEscape in interface BeanInstructions
        Parameters:
        symbol - the symbol to use for escaping characters within a quoted field
        Returns:
        convenience for chaining
      • setQuote

        public BeanInstructions setQuote​(char symbol)
        Description copied from interface: BeanInstructions
        Sets the character that will be interpreted as a quote symbol, signifying either the start or the end of a quoted field. This method is called whenever CsvFile.quote() is used. The default value for this setting is a double quote (") symbol. This call is a facade for RowInstructions.setQuote(char).
        Specified by:
        setQuote in interface BeanInstructions
        Parameters:
        symbol - the symbol to use for indicating start/end of a quoted field
        Returns:
        convenience for chaining
      • setQuotingEnabled

        public BeanInstructions setQuotingEnabled​(boolean enabled)
        Description copied from interface: BeanInstructions
        Sets whether or not quotes are written around the field values. If enabled, the character set as the escape symbol will be disabled. If disabled, no quotes are written around the field values and the escape symbol is not escaped. This setting has no effect when reading CSV files, only when writing them.
        Specified by:
        setQuotingEnabled in interface BeanInstructions
        Parameters:
        enabled - whether or not to put quotes around fields
        Returns:
        convenience for chaining
      • setComment

        public BeanInstructions setComment​(char symbol)
        Description copied from interface: BeanInstructions
        Sets the character that will be interpreted as a comment field on the first position of a row. This method is called whenever CsvFile.comment() is used. The default value for this setting is a hashtag (#).
        Specified by:
        setComment in interface BeanInstructions
        Parameters:
        symbol - the symbol to use as the 0-position comment marker
        Returns:
        convenience for chaining
      • setEndOfLine

        public BeanInstructions setEndOfLine​(char[] symbols)
        Description copied from interface: BeanInstructions
        Sets the characters (plural) that will be interpreted as end-of-line markers (unless within a quoted field). This method is called whenever CsvFile.endOfLine() is used. The default values for this setting are \r and \n. This call is a facade for RowInstructions.setEndOfLine(char[]).
        Specified by:
        setEndOfLine in interface BeanInstructions
        Parameters:
        symbols - the symbol to interpret as end-of-line markers (unless within a quoted field)
        Returns:
        convenience for chaining
      • skipEmptyLines

        public BeanInstructions skipEmptyLines​(boolean skip)
        Description copied from interface: BeanInstructions
        Determines whether empty lines must be skipped or treated as single-column rows. This method is called whenever CsvFile.skipEmptyLines() is used. The default value for this setting is to skip the empty lines.
        Specified by:
        skipEmptyLines in interface BeanInstructions
        Parameters:
        skip - true to skip empty lines, false to treat as single-column rows
        Returns:
        convenience for chaining
      • skipCommentLines

        public BeanInstructions skipCommentLines​(boolean skip)
        Description copied from interface: BeanInstructions
        Determines whether comment lines must be skipped. This method is called whenever CsvFile.skipCommentLines() is used. The default value for this setting is to skip comment lines. This method exists to guarantee that lines are not accidentally treated as comment lines.
        Specified by:
        skipCommentLines in interface BeanInstructions
        Parameters:
        skip - true to skip comment lines, identified as starting with a comment marker
        Returns:
        convenience for chaining
      • setDate

        public BeanInstructions setDate​(String propertyName,
                                        String dateFormat)
        Description copied from interface: BeanInstructions
        Determines what dateformat to apply to the cell value before storing it as a date. This method is called whenever CsvDate is used. The default for date format is dd-MM-yyyy.
        Specified by:
        setDate in interface BeanInstructions
        Parameters:
        propertyName - the name of the property to write the date to
        dateFormat - the date format to apply for parsing the date value
        Returns:
        convenience for chaining
      • setLocalizedNumber

        public BeanInstructions setLocalizedNumber​(String propertyName,
                                                   Locale locale)
        Description copied from interface: BeanInstructions
        Determines what Locale to apply to the cell value before converting it to a number. This method is called whenever CsvLocalizedNumber is used. The default for Locale is the Locale of the server.
        Specified by:
        setLocalizedNumber in interface BeanInstructions
        Parameters:
        propertyName - the name of the property to write the data to
        locale - the Locale to apply for converting the number
        Returns:
        convenience for chaining
      • setRequired

        public BeanInstructions setRequired​(String propertyName,
                                            boolean required)
        Description copied from interface: BeanInstructions
        Determines if the field is required. If so, the cell may not be empty and a CsvException will be thrown if this occurs. This method is called whenever CsvCell.required() is used. The default for a property is false.
        Specified by:
        setRequired in interface BeanInstructions
        Parameters:
        propertyName - property for which the requirement applies
        required - whether the cell must be not-null
        Returns:
        convenience for chaining
      • setConverter

        public BeanInstructions setConverter​(String propertyName,
                                             Converter converter)
        Description copied from interface: BeanInstructions
        Sets a custom PropertyEditor for the property. This PropertyEditor is called to convert the text to the type of the property and set it on the bean. This method is called whenever CsvConverter.converter() is used. The default for a property is based on the wonderful set of PropertyEditors that Spring offers, which is all basics and some extras as well.
        Specified by:
        setConverter in interface BeanInstructions
        Parameters:
        propertyName - property to which the converter must be applied
        converter - PropertyEditor to apply to the property
        Returns:
        convenience for chaining
      • ignoreProperty

        public BeanInstructions ignoreProperty​(String propertyName)
        Description copied from interface: BeanInstructions
        Sets a field to be ignored for purposes of mapping. This method is called whenever CsvIgnore is used. By default none of the fields are ignored unless, custom instructions are used. In this case, all fields are ignored by default.
        Specified by:
        ignoreProperty in interface BeanInstructions
        Parameters:
        propertyName - property which must be ignored for mapping
        Returns:
        convenience for chaining
      • mapColumnIndexToProperty

        public BeanInstructions mapColumnIndexToProperty​(int columnIndex,
                                                         String propertyName)
        Description copied from interface: BeanInstructions
        Maps a column in the CSV to a specific property. This method is called whenever CsvCell.columnIndex() is used. By default there is NO mapping when custom instructions are used, so you should roll your own. Note that column indexes are 1-based, not 0-based
        Specified by:
        mapColumnIndexToProperty in interface BeanInstructions
        Parameters:
        columnIndex - column index for which the property mapping must be applied
        propertyName - property to which the index-based mapping must be applied
        Returns:
        convenience for chaining
      • mapColumnNameToProperty

        public BeanInstructions mapColumnNameToProperty​(String columnName,
                                                        String propertyName)
        Description copied from interface: BeanInstructions
        Maps a column name (which is found in the header) to a specific property. Note that to use this, headers must be enabled. This method is called whenever CsvCell.columnName() is used. By default there is NO mapping when custom instructions are used, so you should roll your own. Also, don't forget to BeanInstructions.setMapper(Class) to ColumnNameMapper for this to work.
        Specified by:
        mapColumnNameToProperty in interface BeanInstructions
        Parameters:
        columnName - column name for which the property mapping must be applied
        propertyName - property to which the name-based mapping must be applied
        Returns:
        convenience for chaining
      • setHeaderNameToProperty

        public BeanInstructions setHeaderNameToProperty​(String propertyName)
        Description copied from interface: BeanInstructions
        Determines what property will receive the header name in the currently active dynamic column
        Specified by:
        setHeaderNameToProperty in interface BeanInstructions
        Parameters:
        propertyName - property in which the active dynamic header name must be stored
        Returns:
        convenience for chaining
      • setHeaderValueToProperty

        public BeanInstructions setHeaderValueToProperty​(String propertyName)
        Description copied from interface: BeanInstructions
        Determines what property will receive the cell value in the currently active dynamic column
        Specified by:
        setHeaderValueToProperty in interface BeanInstructions
        Parameters:
        propertyName - property in which the active dynamic column value must be stored
        Returns:
        convenience for chaining
      • setStartIndexDynamicColumns

        public BeanInstructions setStartIndexDynamicColumns​(int startIndex)
        Description copied from interface: BeanInstructions
        A file can have a special layout with a dynamic number of columns. If the intention is to duplicate rows for every separate column, this is the method you require. It will remember the start position of the dynamic columns and treat every column after that as dynamic. For every dynamic column a row will be created. If a bean has fields annotated with @CsvHeaderName or @CsvHeaderValue, it will store the values of the header or the cell for that index column in the fields.
        Specified by:
        setStartIndexDynamicColumns in interface BeanInstructions
        Parameters:
        startIndex - start index of dynamic columns
        Returns:
        convenience for chaining
      • getBeanClass

        public Class getBeanClass()
        Description copied from interface: BeanInstructions
        Returns the class of the bean on which processing is taking place
        Specified by:
        getBeanClass in interface BeanInstructions
        Returns:
        class of the processed bean
      • useHeader

        public boolean useHeader()
        Description copied from interface: BeanInstructions
        States whether a header is used
        Specified by:
        useHeader in interface BeanInstructions
        Returns:
        true if a header is used