F
- the format supported by this writer.public abstract class CommonWriterSettings<F extends Format> extends CommonSettings<F>
AbstractWriter
)
By default, all writers work with, at least, the following configuration options in addition to the ones provided by CommonSettings
:
RowWriterProcessor
which processes input objects into a manageable format for writing.RowWriterProcessor
,
CsvWriterSettings
,
FixedWidthWriterSettings
Constructor and Description |
---|
CommonWriterSettings() |
Modifier and Type | Method and Description |
---|---|
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.
|
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
public String getEmptyValue()
When writing, if the writer has an empty String to write to the output, the emptyValue is used instead of an empty string
public void setEmptyValue(String emptyValue)
If the writer has an empty String to write to the output, the emptyValue is used instead of an empty string
emptyValue
- the String representation of an empty valuepublic RowWriterProcessor<?> getRowWriterProcessor()
RowWriterProcessor
which processes input objects into a manageable format for writing.RowWriterProcessor
which processes input objects into a manageable format for writing.ObjectRowWriterProcessor
,
BeanWriterProcessor
public void setRowWriterProcessor(RowWriterProcessor<?> rowWriterProcessor)
rowWriterProcessor
- the implementation of the interface RowWriterProcessor
which processes input objects into a manageable format for writing.ObjectRowWriterProcessor
,
BeanWriterProcessor
public final boolean isHeaderWritingEnabled()
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
true
if automatic header writing is enabled, otherwise false.public final void setHeaderWritingEnabled(boolean headerWritingEnabled)
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
headerWritingEnabled
- a flag to enable or disable automatic header writing.public final boolean getExpandIncompleteRows()
null
will be
introduced in column C, generating the output "V1,V2,null".
Defaults to false
public final void setExpandIncompleteRows(boolean expandIncompleteRows)
null
will be
introduced in column C, generating the output "V1,V2,null".
Defaults to false
expandIncompleteRows
- a flag indicating whether records with less columns than the number of headers are to be expanded with nulls.protected void addConfiguration(Map<String,Object> out)
addConfiguration
in class CommonSettings<F extends Format>
protected void configureFromAnnotations(Class<?> beanClass)
beanClass
- the classes whose annotations will be processed to derive configurations for writing.protected CommonWriterSettings clone(boolean clearInputSpecificSettings)
CommonSettings
clearInputSpecificSettings
flag is set to true
clone
in class CommonSettings<F extends Format>
clearInputSpecificSettings
- flag indicating whether to clear settings that are likely to be associated with a given input.protected CommonWriterSettings clone()
CommonSettings
CommonSettings.clone(boolean)
method to reset properties that are
specific to a given input, such as header names and selection of fields.clone
in class CommonSettings<F extends Format>
protected void clearInputSpecificSettings()
CommonSettings
clearInputSpecificSettings
in class CommonSettings<F extends Format>
public boolean isColumnReorderingEnabled()
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.
public void setColumnReorderingEnabled(boolean columnReorderingEnabled)
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.
columnReorderingEnabled
- the flag indicating whether or not selected fields should be reordered and written by the writerCopyright © 2017 uniVocity Software Pty Ltd. All rights reserved.