JsonEntityProvider implements EntityProvider<T> { @Override public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) { return isSupported(type); }  @Override boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType); @SuppressWarnings({"unchecked"}) @Override T readFrom(Class<T> type,
                      Type genericType,
                      Annotation[] annotations,
                      MediaType mediaType,
                      MultivaluedMap<String, String> httpHeaders,
                      InputStream entityStream); @Override long getSize(T t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType); @Override boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType); @SuppressWarnings("unchecked") @Override void writeTo(T t,
                        Class<?> type,
                        Type genericType,
                        Annotation[] annotations,
                        MediaType mediaType,
                        MultivaluedMap<String, Object> httpHeaders,
                        OutputStream entityStream);  }
@Test public void isWriteableForAnyType() throws Exception { assertTrue(jsonEntityProvider.isWriteable(Object.class, null, null, null)); }
@UseDataProvider("ignoresTypesData") @Test public void isNotWriteableForTypesSupportedByOtherProviders(Class<?> aClass) throws Exception { assertFalse(jsonEntityProvider.isWriteable(aClass, null, null, null)); }