@Override public void writeTo(Object t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException, WebApplicationException { if (jaxbProvider.isWriteable(type, genericType, annotations, mediaType)) { jaxbProvider.writeTo(t, type, genericType, annotations, mediaType, httpHeaders, entityStream); } else { pojoProvider.writeTo(t, type, genericType, annotations, mediaType, httpHeaders, entityStream); } } }
@Override public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) { return jacksonEntityProviderFeatureSet && (jaxbProvider.isReadable(type, genericType, annotations, mediaType) || pojoProvider.isReadable(type, genericType, annotations, mediaType)); }
@Override public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) { return jacksonEntityProviderFeatureSet && (jaxbProvider.isWriteable(type, genericType, annotations, mediaType) || pojoProvider.isWriteable(type, genericType, annotations, mediaType)); }
public String marshal(Object jaxbBean) { try { final ByteArrayOutputStream os = new ByteArrayOutputStream(); if (prettyPrint) { jsonProvider.enable(SerializationConfig.Feature.INDENT_OUTPUT, true); } jsonProvider.writeTo(jaxbBean, jaxbBean.getClass(), null, null, MediaType.APPLICATION_JSON_TYPE, null, os); // The encoding used inside JacksonJsonProvider is always UTF-8 return new String(os.toByteArray(), JsonEncoding.UTF8.getJavaName()); } catch (IOException e) { throw new JsonMarshallingException(e); } }
@Bean public JacksonJsonProvider jsonProvider() { return new JacksonJsonProvider(); } }
@Override public Set<Object> getSingletons() { //Configure mapper to support options correctly final JacksonJsonProvider jacksonProvider = new JacksonJsonProvider(); jacksonProvider.locateMapper(AllRoomsResult.class, MediaType.APPLICATION_JSON_TYPE) .registerModule(new SerializationSupportModule()); return ImmutableSet.of( new RequestLogger(), new Rooms(hipChatAPI), new OAuth(hipChatAPI), new Users(hipChatAPI), new Capabilities(hipChatAPI), new LegacyRooms(hipChatAPI), new Addons(hipChatAPI), jacksonProvider ); } };
@Override public Object readFrom(Class<Object> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, String> httpHeaders, InputStream entityStream) throws IOException, WebApplicationException { return jaxbProvider.isReadable(type, genericType, annotations, mediaType) ? jaxbProvider.readFrom(type, genericType, annotations, mediaType, httpHeaders, entityStream) : pojoProvider.readFrom(type, genericType, annotations, mediaType, httpHeaders, entityStream); }
@Override public long getSize(Object t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) { return jaxbProvider.isWriteable(type, genericType, annotations, mediaType) ? jaxbProvider.getSize(t, type, genericType, annotations, mediaType) : pojoProvider.getSize(t, type, genericType, annotations, mediaType); }
@Bean public JacksonJsonProvider jsonProvider() { return new JacksonJsonProvider(); } }
public Object readFrom(Class<Object> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, String> httpHeaders, InputStream entityStream) throws IOException { return delegate.readFrom(type, genericType, annotations, mediaType, httpHeaders, entityStream); } }
public long getSize(Object t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) { return delegate.getSize(t, type, genericType, annotations, mediaType); }
@Bean public JacksonJsonProvider jsonProvider() { return new JacksonJsonProvider(); } }
public void writeTo(Object t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException { delegate.writeTo(t, type, genericType, annotations, mediaType, httpHeaders, entityStream); }
public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) { return delegate.isReadable(type, genericType, annotations, mediaType); }
public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) { return delegate.isWriteable(type, genericType, annotations, mediaType); }
public Object readFrom(Class<Object> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, String> httpHeaders, InputStream entityStream) throws IOException { return delegate.readFrom(type, genericType, annotations, mediaType, httpHeaders, entityStream); } }
public long getSize(Object t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) { return delegate.getSize(t, type, genericType, annotations, mediaType); }
@Bean public JacksonJsonProvider jsonProvider() { return new JacksonJsonProvider(); } }
public void writeTo(Object t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException { delegate.writeTo(t, type, genericType, annotations, mediaType, httpHeaders, entityStream); }
public boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) { return delegate.isReadable(type, genericType, annotations, mediaType); }