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 CSVWriter
.It provides you a
CSVPrinter
to manage the marshalling.- Since:
- 10.3
-
-
Field Summary
Fields Modifier and Type Field Description protected RenderingContext
ctx
The currentRenderingContext
.protected MarshallerRegistry
registry
protected SchemaManager
schemaManager
static String
TEXT_CSV
static javax.ws.rs.core.MediaType
TEXT_CSV_TYPE
-
Constructor Summary
Constructors Constructor Description AbstractCSVWriter()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
accept(Class<?> clazz, Type genericType, javax.ws.rs.core.MediaType mediatype)
Checks if this marshaller can handle the marshalling request.protected org.apache.commons.csv.CSVPrinter
getCSVPrinter(T entity, OutputStream out)
protected void
printCalendar(Calendar value, org.apache.commons.csv.CSVPrinter printer)
void
write(T entity, Class<?> clazz, Type genericType, javax.ws.rs.core.MediaType mediatype, OutputStream out)
Writes the entity to outOutputStream
using mediatype format.protected abstract void
write(T entity, org.apache.commons.csv.CSVPrinter printer)
protected abstract void
writeHeader(T entity, org.apache.commons.csv.CSVPrinter printer)
-
-
-
Field Detail
-
TEXT_CSV
public static final String TEXT_CSV
- See Also:
- Constant Field Values
-
TEXT_CSV_TYPE
public static final javax.ws.rs.core.MediaType TEXT_CSV_TYPE
-
ctx
@Inject protected RenderingContext ctx
The currentRenderingContext
.
-
schemaManager
@Inject protected SchemaManager schemaManager
-
registry
@Inject protected MarshallerRegistry registry
-
-
Method Detail
-
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 theMarshallerRegistry
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 interfaceMarshaller<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 outOutputStream
using mediatype format.This method implementation can use injected properties.
- Specified by:
write
in interfaceWriter<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
-
-