|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.univocity.parsers.common.processor.RowWriterProcessorSwitch
public abstract class RowWriterProcessorSwitch
A special RowWriterProcessor implementation that combines and allows switching among different
RowWriterProcessors. Concrete implementations of this class
are expected to implement the switchRowProcessor(T) method and analyze the input row
to determine whether or not the current RowWriterProcessor implementation must be changed to handle a special
circumstance (determined by the concrete implementation) such as a different row format.
When the row writer processor is switched, the rowProcessorSwitched(RowWriterProcessor, RowWriterProcessor)
will be called, and must be overridden, to notify the change to the user.
| Constructor Summary | |
|---|---|
RowWriterProcessorSwitch()
|
|
| Method Summary | |
|---|---|
protected abstract String |
describeSwitch()
|
protected String[] |
getHeaders()
Returns the headers in use by the current row writer processor implementation, which can vary among row writer processors. |
abstract String[] |
getHeaders(Map headerMapping,
Map mapInput)
Returns the sequence of headers to use for processing an input record represented by a map A map of headers can be optionally provided to assign a name to the keys of the input map. |
abstract String[] |
getHeaders(Object input)
Returns the sequence of headers to use for processing an input record. |
protected int[] |
getIndexes()
Returns the indexes in use by the current row writer processor implementation, which can vary among row writer processors. |
int |
getMinimumRowLength()
Returns the minimum row length based on the number of headers and index sizes |
void |
rowProcessorSwitched(RowWriterProcessor<?> from,
RowWriterProcessor<?> to)
Notifies a change of row writer processor implementation. |
protected abstract RowWriterProcessor<?> |
switchRowProcessor(Object row)
Analyzes an output row to determine whether or not the row writer processor implementation must be changed |
Object[] |
write(Object input,
String[] headers,
int[] indexesToWrite)
Converts the given input into an Object array that is suitable for writing. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public RowWriterProcessorSwitch()
| Method Detail |
|---|
protected abstract RowWriterProcessor<?> switchRowProcessor(Object row)
row - a record with data to be written to the output
rowProcessorSwitched(RowWriterProcessor, RowWriterProcessor) method
will be called.protected String[] getHeaders()
null, the headers defined in CommonSettings.getHeaders() will be returned.
protected int[] getIndexes()
null, the indexes of fields that have been selected using CommonSettings.selectFields(String...)
or CommonSettings.selectIndexes(Integer...) will be returned.
public void rowProcessorSwitched(RowWriterProcessor<?> from,
RowWriterProcessor<?> to)
from - the row writer processor previously in useto - the new row writer processor to use to continue processing the output rows.
public abstract String[] getHeaders(Map headerMapping,
Map mapInput)
headerMapping - an optional map associating keys of the rowData map with expected header namesmapInput - the record data
public abstract String[] getHeaders(Object input)
input - the record data
protected abstract String describeSwitch()
public final int getMinimumRowLength()
public Object[] write(Object input,
String[] headers,
int[] indexesToWrite)
RowWriterProcessorAbstractWriter.
write in interface RowWriterProcessor<Object>input - The original input record that must be converted into an Object array before writing to an output.headers - All field names used to produce records in a given destination. May be null if no headers have been defined in CommonSettings.getHeaders()indexesToWrite - The indexes of the headers that are actually being written. May be null if no fields have been selected using CommonSettings.selectFields(String...) or CommonSettings.selectIndexes(Integer...)
CommonSettings.getSkipEmptyLines() is false)CsvWriter,
FixedWidthWriter,
CommonSettings,
AbstractWriter
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||