com.univocity.parsers.common
Class CommonWriterSettings<F extends Format>

java.lang.Object
  extended by com.univocity.parsers.common.CommonSettings<F>
      extended by com.univocity.parsers.common.CommonWriterSettings<F>
Type Parameters:
F - the format supported by this writer.
All Implemented Interfaces:
Cloneable
Direct Known Subclasses:
CsvWriterSettings, FixedWidthWriterSettings, TsvWriterSettings

public abstract class CommonWriterSettings<F extends Format>
extends CommonSettings<F>

This is the parent class for all configuration classes used by writers (AbstractWriter)

By default, all writers work with, at least, the following configuration options in addition to the ones provided by CommonSettings:

Author:
uniVocity Software Pty Ltd - parsers@univocity.com
See Also:
RowWriterProcessor, CsvWriterSettings, FixedWidthWriterSettings

Constructor Summary
CommonWriterSettings()
           
 
Method Summary
protected  void addConfiguration(Map<String,Object> out)
           
protected  void clearInputSpecificSettings()
          Clears settings that are likely to be specific to a given input.
protected  CommonWriterSettings clone()
          Clones this configuration object.
protected  CommonWriterSettings clone(boolean clearInputSpecificSettings)
          Clones this configuration object to reuse user-provided settings.
protected  void configureFromAnnotations(Class<?> beanClass)
          Configures the writer based on the annotations provided in a given class
 String getEmptyValue()
          Returns the String representation of an empty value (defaults to null)
 boolean getExpandIncompleteRows()
          Indicates whether the writer should expand records with less columns than the number of headers.
 RowWriterProcessor<?> getRowWriterProcessor()
          Returns the implementation of the interface RowWriterProcessor which processes input objects into a manageable format for writing.
 boolean isColumnReorderingEnabled()
          Indicates whether fields selected using the field selection methods (defined by the parent class CommonSettings) should be reordered (defaults to false).
 boolean isHeaderWritingEnabled()
          Returns a flag indicating whether automatic writing of headers is enabled.
 void setColumnReorderingEnabled(boolean columnReorderingEnabled)
          Defines whether fields selected using the field selection methods (defined by the parent class CommonSettings) should be reordered (defaults to false).
 void setEmptyValue(String emptyValue)
          Sets the String representation of an empty value (defaults to null)
 void setExpandIncompleteRows(boolean expandIncompleteRows)
          Defines whether the writer should expand records with less columns than the number of headers.
 void setHeaderWritingEnabled(boolean headerWritingEnabled)
          Enables automatic writing of headers when they are available.
 void setRowWriterProcessor(RowWriterProcessor<?> rowWriterProcessor)
          Defines a processor for input objects that converts them into a manageable format for writing.
 
Methods inherited from class com.univocity.parsers.common.CommonSettings
createDefaultFormat, excludeFields, excludeFields, excludeIndexes, getErrorContentLength, getFormat, getHeaders, getIgnoreLeadingWhitespaces, getIgnoreTrailingWhitespaces, getMaxCharsPerColumn, getMaxColumns, getNullValue, getProcessorErrorHandler, getRowProcessorErrorHandler, getSkipBitsAsWhitespace, getSkipEmptyLines, getWhitespaceRangeStart, isAutoConfigurationEnabled, isProcessorErrorHandlerDefined, selectFields, selectFields, selectIndexes, setAutoConfigurationEnabled, setErrorContentLength, setFormat, setHeaders, setIgnoreLeadingWhitespaces, setIgnoreTrailingWhitespaces, setMaxCharsPerColumn, setMaxColumns, setNullValue, setProcessorErrorHandler, setRowProcessorErrorHandler, setSkipBitsAsWhitespace, setSkipEmptyLines, toString, trimValues
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CommonWriterSettings

public CommonWriterSettings()
Method Detail

getEmptyValue

public String getEmptyValue()
Returns the String representation of an empty value (defaults to null)

When writing, if the writer has an empty String to write to the output, the emptyValue is used instead of an empty string

Returns:
the String representation of an empty value

setEmptyValue

public void setEmptyValue(String emptyValue)
Sets the String representation of an empty value (defaults to null)

If the writer has an empty String to write to the output, the emptyValue is used instead of an empty string

Parameters:
emptyValue - the String representation of an empty value

getRowWriterProcessor

public RowWriterProcessor<?> getRowWriterProcessor()
Returns the implementation of the interface RowWriterProcessor which processes input objects into a manageable format for writing.

Returns:
the implementation of the interface RowWriterProcessor which processes input objects into a manageable format for writing.
See Also:
ObjectRowWriterProcessor, BeanWriterProcessor

setRowWriterProcessor

public void setRowWriterProcessor(RowWriterProcessor<?> rowWriterProcessor)
Defines a processor for input objects that converts them into a manageable format for writing.

Parameters:
rowWriterProcessor - the implementation of the interface RowWriterProcessor which processes input objects into a manageable format for writing.
See Also:
ObjectRowWriterProcessor, BeanWriterProcessor

isHeaderWritingEnabled

public final boolean isHeaderWritingEnabled()
Returns a flag indicating whether automatic writing of headers is enabled. If enabled, and headers are defined (or derived automatically if CommonSettings.isAutoConfigurationEnabled() evaluates to true), the writer will invoke the AbstractWriter.writeHeaders() method automatically. In this case, attempting to explicitly write the headers will result in a TextWritingException.

Defaults to false

Returns:
returns true if automatic header writing is enabled, otherwise false.

setHeaderWritingEnabled

public final void setHeaderWritingEnabled(boolean headerWritingEnabled)
Enables automatic writing of headers when they are available. If enabled, and headers are defined (or derived automatically if CommonSettings.isAutoConfigurationEnabled() evaluates to true), the writer will invoke the AbstractWriter.writeHeaders() method automatically. In this case, attempting to explicitly write the headers will result in a TextWritingException.

Defaults to false

Parameters:
headerWritingEnabled - a flag to enable or disable automatic header writing.

getExpandIncompleteRows

public final boolean getExpandIncompleteRows()
Indicates whether the writer should expand records with less columns than the number of headers. For example, if the writer is using "A,B,C" as the headers, and the user provides a row with "V1,V2", then null will be introduced in column C, generating the output "V1,V2,null".

Defaults to false

Returns:
a flag indicating whether records with less columns than the number of headers are to be expanded with nulls.

setExpandIncompleteRows

public final void setExpandIncompleteRows(boolean expandIncompleteRows)
Defines whether the writer should expand records with less columns than the number of headers. For example, if the writer is using "A,B,C" as the headers, and the user provides a row with "V1,V2", then null will be introduced in column C, generating the output "V1,V2,null".

Defaults to false

Parameters:
expandIncompleteRows - a flag indicating whether records with less columns than the number of headers are to be expanded with nulls.

addConfiguration

protected void addConfiguration(Map<String,Object> out)
Overrides:
addConfiguration in class CommonSettings<F extends Format>

configureFromAnnotations

protected void configureFromAnnotations(Class<?> beanClass)
Configures the writer based on the annotations provided in a given class

Parameters:
beanClass - the classes whose annotations will be processed to derive configurations for writing.

clone

protected CommonWriterSettings clone(boolean clearInputSpecificSettings)
Description copied from class: CommonSettings
Clones this configuration object to reuse user-provided settings. Properties that are specific to a given input (such as header names and selection of fields) can be reset to their defaults if the clearInputSpecificSettings flag is set to true

Overrides:
clone in class CommonSettings<F extends Format>
Parameters:
clearInputSpecificSettings - flag indicating whether to clear settings that are likely to be associated with a given input.
Returns:
a copy of the configurations applied to the current instance.

clone

protected CommonWriterSettings clone()
Description copied from class: CommonSettings
Clones this configuration object. Use alternative CommonSettings.clone(boolean) method to reset properties that are specific to a given input, such as header names and selection of fields.

Overrides:
clone in class CommonSettings<F extends Format>
Returns:
a copy of all configurations applied to the current instance.

clearInputSpecificSettings

protected void clearInputSpecificSettings()
Description copied from class: CommonSettings
Clears settings that are likely to be specific to a given input.

Overrides:
clearInputSpecificSettings in class CommonSettings<F extends Format>

isColumnReorderingEnabled

public boolean isColumnReorderingEnabled()
Indicates whether fields selected using the field selection methods (defined by the parent class CommonSettings) should be reordered (defaults to false).

When disabled, each written record will contain values for all columns, in the order they are sent to the writer. Fields which were not selected will not be written but and the record will contain empty values.

When enabled, each written record will contain values only for the selected columns. The values will be ordered according to the selection.

Returns:
true if the selected fields should be reordered when writing with field selection enabled, false otherwise

setColumnReorderingEnabled

public void setColumnReorderingEnabled(boolean columnReorderingEnabled)
Defines whether fields selected using the field selection methods (defined by the parent class CommonSettings) should be reordered (defaults to false).

When disabled, each written record will contain values for all columns, in the order they are sent to the writer. Fields which were not selected will not be written but and the record will contain empty values.

When enabled, each written record will contain values only for the selected columns. The values will be ordered according to the selection.

Parameters:
columnReorderingEnabled - the flag indicating whether or not selected fields should be reordered and written by the writer


Copyright © 2017 uniVocity Software Pty Ltd. All rights reserved.