Package csv.util

Class ObjectWriter<T>

java.lang.Object
csv.util.ObjectWriter<T>

public class ObjectWriter<T> extends Object
Writes Objects into a table.

This class is different to BeanWriter as it asks a converter to convert the object to a row first.

 // Create an instance of your table writer 
 TableWriter tableWriter = ...; 
 
 // Get an instance of your object converter
 ObjectConverter<MyClass> converter = new MyClassConverter();
 
 // Get an instance of your table header provider (if you need it)
 TableHeaderProvider headerProvider = new MyTableHeaderProvider();
 
 // Now write to the table stream
 ObjectWriter<MyClass> writer = new ObjectWriter(tableWriter, converter, headerProvider);
 writer.write(object1);
 writer.write(object2);
 writer.write(new MyClass[] { object1, object2, object 3 });
 
 // Close the writer
 writer.close();
 
Author:
ralph
  • Field Details

  • Constructor Details

    • ObjectWriter

      public ObjectWriter(TableWriter writer, ObjectConverter<T> converter)
      Constructor.
      Parameters:
      writer - - the writer to write to
      converter - - the converter to be used
    • ObjectWriter

      public ObjectWriter(TableWriter writer, ObjectConverter<T> converter, TableHeaderProvider headerProvider)
      Constructor.
      Parameters:
      writer - - the writer to write to
      converter - - the converter to be used
      headerProvider - - the header provider (can be null)
  • Method Details

    • getConverter

      public ObjectConverter<T> getConverter()
      Returns the row converter.
      Returns:
      the row converter
    • setConverter

      public void setConverter(ObjectConverter<T> converter)
      Sets the row converter.
      Parameters:
      converter - the row converter to be used
    • getHeaderProvider

      public TableHeaderProvider getHeaderProvider()
      Returns the table header provider.
      Returns:
      the table header provider
    • setHeaderProvider

      public void setHeaderProvider(TableHeaderProvider headerProvider)
      Sets the table header provider.
      Parameters:
      headerProvider - the table header provider to be used.
    • getWriter

      public TableWriter getWriter()
      Returns the table writer.
      Returns:
      the table writer
    • writeHeader

      public void writeHeader(String[] headerRow)
      Writes the header row.
    • write

      public void write(T[] objects)
      Writes multiple objects to the stream.
    • write

      public void write(Iterable<? extends T> objects)
      Writes multiple objects to the stream.
    • write

      public void write(T object)
      Writes the object to the stream.
    • close

      public void close()
      Closes the stream.