Class AbstractCSVWriter<T>

java.lang.Object
org.nuxeo.ecm.core.io.marshallers.csv.AbstractCSVWriter<T>
Type Parameters:
T - The Java type to marshall as CSV.
All Implemented Interfaces:
Marshaller<T>, Writer<T>
Direct Known Subclasses:
DocumentModelCSVWriter, DocumentModelListCSVWriter, DocumentPropertyCSVWriter, LogEntryCSVWriter, LogEntryListCSVWriter

@Supports("text/csv") public abstract class AbstractCSVWriter<T> extends Object implements Writer<T>
Base class for CSV Writer.

It provides you a CSVPrinter to manage the marshalling.

Since:
10.3
  • Field Details

  • Constructor Details

    • AbstractCSVWriter

      public AbstractCSVWriter()
  • Method Details

    • accept

      public boolean accept(Class<?> clazz, Type genericType, javax.ws.rs.core.MediaType mediatype)
      Description copied from interface: Marshaller
      Checks if this marshaller can handle the marshalling request.

      Please note it's useless to check that clazz is an instance of EntityType or if generic type and entity type are compatible (unlike JAX-RS which just checks the clazz, not the generic type). It's also useless to check Supports is compatible with mediatype. This is already done by the MarshallerRegistry

      This method implementation can use injected properties. So you can check the current RenderingContext to accept or reject a marshalling request.

      Specified by:
      accept in interface Marshaller<T>
      Parameters:
      clazz - The type to marshall.
      genericType - The generic type to marshall.
      mediatype - The managed mimetype.
      Returns:
      true if this converter handle the request, false otherwise.
    • write

      public void write(T entity, Class<?> clazz, Type genericType, javax.ws.rs.core.MediaType mediatype, OutputStream out) throws IOException
      Description copied from interface: Writer
      Writes the entity to out OutputStream using mediatype format.

      This method implementation can use injected properties.

      Specified by:
      write in interface Writer<T>
      Parameters:
      entity - The entity to marshall.
      clazz - The requested marshalled class.
      genericType - The requested marshalled generic type.
      mediatype - The target mediatype.
      out - The output of this marshaller.
      Throws:
      IOException - If some error append while writing entity to out.
    • write

      protected abstract void write(T entity, org.apache.commons.csv.CSVPrinter printer) throws IOException
      Throws:
      IOException
    • writeHeader

      protected abstract void writeHeader(T entity, org.apache.commons.csv.CSVPrinter printer) throws IOException
      Throws:
      IOException
    • getCSVPrinter

      protected org.apache.commons.csv.CSVPrinter getCSVPrinter(T entity, OutputStream out) throws IOException
      Throws:
      IOException
    • printCalendar

      protected void printCalendar(Calendar value, org.apache.commons.csv.CSVPrinter printer) throws IOException
      Throws:
      IOException