Package org.supercsv.io
Class CsvBeanWriter
java.lang.Object
org.supercsv.io.AbstractCsvWriter
org.supercsv.io.CsvBeanWriter
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
,ICsvBeanWriter
,ICsvWriter
CsvBeanWriter writes a CSV file by mapping each field on the bean to a column in the CSV file (using the supplied
name mapping).
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCsvBeanWriter
(Writer writer, CsvPreference preference) Constructs a new CsvBeanWriter with the supplied Writer and CSV preferences. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
extractBeanValues
(Object source, String[] nameMapping) Extracts the bean values, using the supplied name mapping array.void
Writes the fields of the object as columns of a CSV file, using the supplied name mapping to map fields to the appropriate columns.void
write
(Object source, String[] nameMapping, CellProcessor[] processors) Writes the fields of the object as columns of a CSV file, using the supplied name mapping to map fields to the appropriate columns.Methods inherited from class org.supercsv.io.AbstractCsvWriter
close, flush, getLineNumber, getRowNumber, incrementRowAndLineNo, writeComment, writeHeader, writeRow, writeRow, writeRow
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.supercsv.io.ICsvWriter
getLineNumber, getRowNumber, writeComment, writeHeader
-
Field Details
-
beanValues
-
processedColumns
-
cache
-
-
Constructor Details
-
CsvBeanWriter
Constructs a new CsvBeanWriter with the supplied Writer and CSV preferences. Note that the writer will be wrapped in a BufferedWriter before accessed.- Parameters:
writer
- the writerpreference
- the CSV preferences- Throws:
NullPointerException
- if writer or preference are null
-
-
Method Details
-
extractBeanValues
Extracts the bean values, using the supplied name mapping array.- Parameters:
source
- the beannameMapping
- the name mapping- Throws:
NullPointerException
- if source or nameMapping are nullSuperCsvReflectionException
- if there was a reflection exception extracting the bean value
-
write
Writes the fields of the object as columns of a CSV file, using the supplied name mapping to map fields to the appropriate columns. toString() will be called on each element prior to writing.- Specified by:
write
in interfaceICsvBeanWriter
- Parameters:
source
- the object (bean instance) containing the values to writenameMapping
- an array of Strings linking the fields in the bean to their corresponding CSV columns (the array length should match the number of columns). A null entry in the array indicates that the column should be ignored (the column will be empty).- Throws:
IOException
- if an I/O error occurred
-
write
public void write(Object source, String[] nameMapping, CellProcessor[] processors) throws IOException Writes the fields of the object as columns of a CSV file, using the supplied name mapping to map fields to the appropriate columns. toString() will be called on each (processed) element prior to writing.- Specified by:
write
in interfaceICsvBeanWriter
- Parameters:
source
- the object (bean instance) containing the values to writenameMapping
- an array of Strings linking the fields in the bean to their corresponding CSV columns (the array length should match the number of columns). A null entry in the array indicates that the column should be ignored (the column will be empty).processors
- an array of CellProcessors used to further process data before it is written (each element in the processors array corresponds with a CSV column - the number of processors should match the number of columns). A null entry indicates no further processing is required (the value returned by toString() will be written as the column value).- Throws:
IOException
- if an I/O error occurred
-