Search in sources :

Example 1 with Book

use of org.ecabrerar.examples.libraryapp.domain.Book in project javaee7-firstcup by ecabrerar.

the class BookCollectionWriter method writeTo.

@Override
public void writeTo(List<Book> books, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException, WebApplicationException {
    if (mediaType.equals(MediaType.APPLICATION_JSON_TYPE)) {
        try (StringWriter writer = new StringWriter()) {
            try (JsonGenerator generator = Json.createGenerator(writer)) {
                HashMap<String, Object> configs = new HashMap<>(1);
                configs.put(JsonGenerator.PRETTY_PRINTING, true);
                generator.writeStartArray();
                books.stream().forEach(book -> generator.writeStartObject().write("Name", book.getName()).write("ISBN", book.getIsbn()).write("Author", book.getAuthor()).writeEnd());
                generator.writeEnd();
            }
            entityStream.write(writer.toString().getBytes());
        }
    } else if (mediaType.equals(MediaType.TEXT_PLAIN_TYPE)) {
        StringBuilder stringBuilder = new StringBuilder("Book ");
        books.stream().forEach((Book book) -> stringBuilder.append(book.toString()).append("\n"));
        entityStream.write(stringBuilder.toString().getBytes());
    }
}
Also used : StringWriter(java.io.StringWriter) HashMap(java.util.HashMap) Book(org.ecabrerar.examples.libraryapp.domain.Book) JsonGenerator(javax.json.stream.JsonGenerator)

Aggregations

StringWriter (java.io.StringWriter)1 HashMap (java.util.HashMap)1 JsonGenerator (javax.json.stream.JsonGenerator)1 Book (org.ecabrerar.examples.libraryapp.domain.Book)1