Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.accidia.protoserver.providers;
 
 
Message body writer implementation for objects of type List<Message> to Json
public class JsonMessageListWriter implements MessageBodyWriter<List<Message>> {
    private static final Logger logger = LoggerFactory.getLogger(JsonMessageListWriter.class);
    @Override
    public boolean isWriteable(final Class<?> type,
                               final Type genericType,
                               final Annotation[] annotations,
                               final MediaType mediaType) {
        return mediaType.isCompatible(.);
    }
    @Override
    public long getSize(final List<Messagemessages,
                        final Class<?> typeType genericType,
                        final Annotation[] annotations,
                        final MediaType mediaType) {
        try {
            return messageListToString(messages).length();
        } catch (IOException e) {
            .warn("exception caught while calculating message size: "e);
            throw new WebApplicationException(e..);
        }
    }
    @Override
    public void writeTo(final List<Messagemessages,
                        final Class<?> type,
                        final Type genericType,
                        final Annotation[] annotations,
                        final MediaType mediaType,
                        final MultivaluedMap<StringObjecthttpHeaders,
                        final OutputStream outputStreamthrows IOExceptionWebApplicationException {
        outputStream.write(messageListToString(messages).getBytes(.));
    }
    protected String messageListToString(final List<Messagemessagesthrows IOException {
        if (messages == null || messages.isEmpty()) {
            return "[]";
        }
        final StringBuilder stringBuilder = new StringBuilder("[");
        boolean first = true;
        for (final Message message : messages) {
            if (first) {
                first = false;
            } else {
                stringBuilder.append(",");
            }
            JsonFormat.print(messagestringBuilder);
        }
        stringBuilder.append("]");
        return stringBuilder.toString();
    }
New to GrepCode? Check out our FAQ X