@Override @SuppressWarnings("unchecked") public List<MediaType> getMessageBodyWriterMediaTypes(final Class<?> c, final Type t, final Annotation[] as) { final Set<MediaType> writeableMediaTypes = new LinkedHashSet<>(); for (final WriterModel model : writers) { boolean writeableWorker = false; for (final MediaType mt : model.declaredTypes()) { if (model.isWriteable(c, t, as, mt)) { writeableMediaTypes.add(mt); writeableWorker = true; } if (!writeableMediaTypes.contains(MediaType.WILDCARD_TYPE) && writeableWorker && model.declaredTypes().contains(MediaType.WILDCARD_TYPE)) { writeableMediaTypes.add(MediaType.WILDCARD_TYPE); } } } final List<MediaType> mtl = new ArrayList<>(writeableMediaTypes); mtl.sort(MediaTypes.PARTIAL_ORDER_COMPARATOR); return mtl; }
@Override @SuppressWarnings("unchecked") public List<MediaType> getMessageBodyWriterMediaTypes(final Class<?> c, final Type t, final Annotation[] as) { final Set<MediaType> writeableMediaTypes = new LinkedHashSet<>(); for (final WriterModel model : writers) { boolean writeableWorker = false; for (final MediaType mt : model.declaredTypes()) { if (model.isWriteable(c, t, as, mt)) { writeableMediaTypes.add(mt); writeableWorker = true; } if (!writeableMediaTypes.contains(MediaType.WILDCARD_TYPE) && writeableWorker && model.declaredTypes().contains(MediaType.WILDCARD_TYPE)) { writeableMediaTypes.add(MediaType.WILDCARD_TYPE); } } } final List<MediaType> mtl = new ArrayList<>(writeableMediaTypes); mtl.sort(MediaTypes.PARTIAL_ORDER_COMPARATOR); return mtl; }
@Override @SuppressWarnings("unchecked") public MediaType getMessageBodyWriterMediaType( final Class<?> c, final Type t, final Annotation[] as, final List<MediaType> acceptableMediaTypes) { for (final MediaType acceptable : acceptableMediaTypes) { for (final WriterModel model : writers) { for (final MediaType mt : model.declaredTypes()) { if (mt.isCompatible(acceptable) && model.isWriteable(c, t, as, acceptable)) { return MediaTypes.mostSpecific(mt, acceptable); } } } } return null; }
@Override @SuppressWarnings("unchecked") public MediaType getMessageBodyWriterMediaType( final Class<?> c, final Type t, final Annotation[] as, final List<MediaType> acceptableMediaTypes) { for (final MediaType acceptable : acceptableMediaTypes) { for (final WriterModel model : writers) { for (final MediaType mt : model.declaredTypes()) { if (mt.isCompatible(acceptable) && model.isWriteable(c, t, as, acceptable)) { return MediaTypes.mostSpecific(mt, acceptable); } } } } return null; }
private boolean isWriteable(final RequestSpecificConsumesProducesAcceptor candidate) { final Invocable invocable = candidate.methodRouting.method.getInvocable(); final Class<?> responseType = Primitives.wrap(invocable.getRawRoutingResponseType()); if (Response.class.isAssignableFrom(responseType) || Void.class.isAssignableFrom(responseType)) { return true; } final Type genericType = invocable.getRoutingResponseType(); final Type genericReturnType = genericType instanceof GenericType ? ((GenericType) genericType).getType() : genericType; for (final WriterModel model : workers.getWritersModelsForType(responseType)) { if (model.isWriteable( responseType, genericReturnType, invocable.getHandlingMethod().getDeclaredAnnotations(), candidate.produces.combinedType)) { return true; } } return false; }
private boolean isWriteable(final RequestSpecificConsumesProducesAcceptor candidate) { final Invocable invocable = candidate.methodRouting.method.getInvocable(); final Class<?> responseType = Primitives.wrap(invocable.getRawRoutingResponseType()); if (Response.class.isAssignableFrom(responseType) || Void.class.isAssignableFrom(responseType)) { return true; } final Type genericType = invocable.getRoutingResponseType(); final Type genericReturnType = genericType instanceof GenericType ? ((GenericType) genericType).getType() : genericType; for (final WriterModel model : workers.getWritersModelsForType(responseType)) { if (model.isWriteable( responseType, genericReturnType, invocable.getHandlingMethod().getDeclaredAnnotations(), candidate.produces.combinedType)) { return true; } } return false; }
while (iterator.hasNext()) { final WriterModel model = iterator.next(); if (model.isWriteable(c, t, as, mediaType)) { selected = (MessageBodyWriter<T>) model.provider(); tracingLogger.log(MsgTraceEvent.MBW_SELECTED, selected);
while (iterator.hasNext()) { final WriterModel model = iterator.next(); if (model.isWriteable(c, t, as, mediaType)) { selected = (MessageBodyWriter<T>) model.provider(); tracingLogger.log(MsgTraceEvent.MBW_SELECTED, selected);
if (model.isWriteable( responseEntityClass, entityType,
if (model.isWriteable( responseEntityClass, entityType,
private boolean isWriteable(final RequestSpecificConsumesProducesAcceptor candidate) { final Invocable invocable = candidate.methodRouting.method.getInvocable(); final Class<?> responseType = Primitives.wrap(invocable.getRawRoutingResponseType()); if (Response.class.isAssignableFrom(responseType) || Void.class.isAssignableFrom(responseType)) { return true; } final Type genericType = invocable.getRoutingResponseType(); final Type genericReturnType = genericType instanceof GenericType ? ((GenericType) genericType).getType() : genericType; for (final WriterModel model : workers.getWritersModelsForType(responseType)) { if (model.isWriteable( responseType, genericReturnType, invocable.getHandlingMethod().getDeclaredAnnotations(), candidate.produces.combinedType)) { return true; } } return false; }
if (model.isWriteable( responseEntityClass, entityType,
@Override @SuppressWarnings("unchecked") public List<MediaType> getMessageBodyWriterMediaTypes(final Class<?> c, final Type t, final Annotation[] as) { final Set<MediaType> writeableMediaTypes = new LinkedHashSet<>(); for (final WriterModel model : writers) { boolean writeableWorker = false; for (final MediaType mt : model.declaredTypes()) { if (model.isWriteable(c, t, as, mt)) { writeableMediaTypes.add(mt); writeableWorker = true; } if (!writeableMediaTypes.contains(MediaType.WILDCARD_TYPE) && writeableWorker && model.declaredTypes().contains(MediaType.WILDCARD_TYPE)) { writeableMediaTypes.add(MediaType.WILDCARD_TYPE); } } } final List<MediaType> mtl = new ArrayList<>(writeableMediaTypes); mtl.sort(MediaTypes.PARTIAL_ORDER_COMPARATOR); return mtl; }
@Override @SuppressWarnings("unchecked") public List<MediaType> getMessageBodyWriterMediaTypes(final Class<?> c, final Type t, final Annotation[] as) { final Set<MediaType> writeableMediaTypes = Sets.newLinkedHashSet(); for (final WriterModel model : writers) { boolean writeableWorker = false; for (final MediaType mt : model.declaredTypes()) { if (model.isWriteable(c, t, as, mt)) { writeableMediaTypes.add(mt); writeableWorker = true; } if (!writeableMediaTypes.contains(MediaType.WILDCARD_TYPE) && writeableWorker && model.declaredTypes().contains(MediaType.WILDCARD_TYPE)) { writeableMediaTypes.add(MediaType.WILDCARD_TYPE); } } } final List<MediaType> mtl = Lists.newArrayList(writeableMediaTypes); Collections.sort(mtl, MediaTypes.PARTIAL_ORDER_COMPARATOR); return mtl; }
@Override @SuppressWarnings("unchecked") public MediaType getMessageBodyWriterMediaType( final Class<?> c, final Type t, final Annotation[] as, final List<MediaType> acceptableMediaTypes) { for (final MediaType acceptable : acceptableMediaTypes) { for (final WriterModel model : writers) { for (final MediaType mt : model.declaredTypes()) { if (mt.isCompatible(acceptable) && model.isWriteable(c, t, as, acceptable)) { return MediaTypes.mostSpecific(mt, acceptable); } } } } return null; }
@Override @SuppressWarnings("unchecked") public MediaType getMessageBodyWriterMediaType( final Class<?> c, final Type t, final Annotation[] as, final List<MediaType> acceptableMediaTypes) { for (final MediaType acceptable : acceptableMediaTypes) { for (final WriterModel model : writers) { for (final MediaType mt : model.declaredTypes()) { if (mt.isCompatible(acceptable) && model.isWriteable(c, t, as, acceptable)) { return MediaTypes.mostSpecific(mt, acceptable); } } } } return null; }
@Override @SuppressWarnings("unchecked") public MediaType getMessageBodyWriterMediaType( final Class<?> c, final Type t, final Annotation[] as, final List<MediaType> acceptableMediaTypes) { for (final MediaType acceptable : acceptableMediaTypes) { for (final WriterModel model : writers) { for (final MediaType mt : model.declaredTypes()) { if (mt.isCompatible(acceptable) && model.isWriteable(c, t, as, acceptable)) { return MediaTypes.mostSpecific(mt, acceptable); } } } } return null; }
@Override @SuppressWarnings("unchecked") public MediaType getMessageBodyWriterMediaType( final Class<?> c, final Type t, final Annotation[] as, final List<MediaType> acceptableMediaTypes) { for (final MediaType acceptable : acceptableMediaTypes) { for (final WriterModel model : writers) { for (final MediaType mt : model.declaredTypes()) { if (mt.isCompatible(acceptable) && model.isWriteable(c, t, as, acceptable)) { return MediaTypes.mostSpecific(mt, acceptable); } } } } return null; }
@Override @SuppressWarnings("unchecked") public MediaType getMessageBodyWriterMediaType( final Class<?> c, final Type t, final Annotation[] as, final List<MediaType> acceptableMediaTypes) { for (final MediaType acceptable : acceptableMediaTypes) { for (final WriterModel model : writers) { for (final MediaType mt : model.declaredTypes()) { if (mt.isCompatible(acceptable) && model.isWriteable(c, t, as, acceptable)) { return MediaTypes.mostSpecific(mt, acceptable); } } } } return null; }
private boolean isWriteable(final RequestSpecificConsumesProducesAcceptor candidate) { final Invocable invocable = candidate.methodRouting.method.getInvocable(); final Class<?> responseType = Primitives.wrap(invocable.getRawRoutingResponseType()); if (Response.class.isAssignableFrom(responseType) || Void.class.isAssignableFrom(responseType)) { return true; } final Type genericType = invocable.getRoutingResponseType(); final Type genericReturnType = genericType instanceof GenericType ? ((GenericType) genericType).getType() : genericType; for (final WriterModel model : workers.getWritersModelsForType(responseType)) { if (model.isWriteable( responseType, genericReturnType, invocable.getHandlingMethod().getDeclaredAnnotations(), candidate.produces.combinedType)) { return true; } } return false; }