final List<Variant> variants, final Ref<String> varyHeaderValue) { LinkedList<VariantHolder> vhs = getVariantHolderList(variants); vhs = selectVariants(vhs, context.getQualifiedAcceptableMediaTypes(), MEDIA_TYPE_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptableLanguages(), LANGUAGE_TAG_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptCharset(), CHARSET_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptEncoding(), ENCODING_DC, vary);
@Override public Variant selectVariant(final List<Variant> variants) throws IllegalArgumentException { if (variants == null || variants.isEmpty()) { throw new IllegalArgumentException(METHOD_PARAMETER_CANNOT_BE_NULL_OR_EMPTY); } final Ref<String> varyValueRef = Refs.emptyRef(); final Variant variant = VariantSelector.selectVariant(this, variants, varyValueRef); this.varyValue = varyValueRef.get(); return variant; }
/** * Select the representation variant that best matches the request. More explicit * variants are chosen ahead of less explicit ones. * * @param context inbound message context. * @param variants list of possible variants. * @param varyHeaderValue an output reference of vary header value that should be put * into the response Vary header. * @return selected variant. */ public static Variant selectVariant(final InboundMessageContext context, final List<Variant> variants, final Ref<String> varyHeaderValue) { final List<Variant> selectedVariants = selectVariants(context, variants, varyHeaderValue); return selectedVariants.isEmpty() ? null : selectedVariants.get(0); }
/** * Select the representation variant that best matches the request. More explicit * variants are chosen ahead of less explicit ones. * * @param context inbound message context. * @param variants list of possible variants. * @param varyHeaderValue an output reference of vary header value that should be put * into the response Vary header. * @return selected variant. */ public static Variant selectVariant(final InboundMessageContext context, final List<Variant> variants, final Ref<String> varyHeaderValue) { final List<Variant> selectedVariants = selectVariants(context, variants, varyHeaderValue); return selectedVariants.isEmpty() ? null : selectedVariants.get(0); }
final List<Variant> variants, final Ref<String> varyHeaderValue) { LinkedList<VariantHolder> vhs = getVariantHolderList(variants); vhs = selectVariants(vhs, context.getQualifiedAcceptableMediaTypes(), MEDIA_TYPE_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptableLanguages(), LANGUAGE_TAG_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptCharset(), CHARSET_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptEncoding(), ENCODING_DC, vary);
/** * Get media types for which the {@link org.glassfish.jersey.server.mvc.spi.ResolvedViewable resolved viewable} could be * produced. * * @param containerRequest request to obtain acceptable media types. * @param extendedUriInfo uri info to obtain resource method from and its producible media types. * @param varyHeaderValue Vary header reference. * @return list of producible media types. */ public static List<MediaType> getProducibleMediaTypes(final ContainerRequest containerRequest, final ExtendedUriInfo extendedUriInfo, final Ref<String> varyHeaderValue) { final List<MediaType> producedTypes = getResourceMethodProducibleTypes(extendedUriInfo); final MediaType[] mediaTypes = producedTypes.toArray(new MediaType[producedTypes.size()]); final List<Variant> variants = VariantSelector.selectVariants( containerRequest, Variant.mediaTypes(mediaTypes).build(), varyHeaderValue == null ? Refs.<String>emptyRef() : varyHeaderValue); return variants.stream() .map(variant -> MediaTypes.stripQualityParams(variant.getMediaType())) .collect(Collectors.toList()); }
@Override public Variant selectVariant(final List<Variant> variants) throws IllegalArgumentException { if (variants == null || variants.isEmpty()) { throw new IllegalArgumentException(METHOD_PARAMETER_CANNOT_BE_NULL_OR_EMPTY); } final Ref<String> varyValueRef = Refs.emptyRef(); final Variant variant = VariantSelector.selectVariant(this, variants, varyValueRef); this.varyValue = varyValueRef.get(); return variant; }
final List<Variant> variants, final Ref<String> varyHeaderValue) { LinkedList<VariantHolder> vhs = getVariantHolderList(variants); vhs = selectVariants(vhs, context.getQualifiedAcceptableMediaTypes(), MEDIA_TYPE_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptableLanguages(), LANGUAGE_TAG_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptCharset(), CHARSET_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptEncoding(), ENCODING_DC, vary);
/** * Select the representation variant that best matches the request. More explicit * variants are chosen ahead of less explicit ones. * * @param context inbound message context. * @param variants list of possible variants. * @param varyHeaderValue an output reference of vary header value that should be put * into the response Vary header. * @return selected variant. */ public static Variant selectVariant(final InboundMessageContext context, final List<Variant> variants, final Ref<String> varyHeaderValue) { final List<Variant> selectedVariants = selectVariants(context, variants, varyHeaderValue); return selectedVariants.isEmpty() ? null : selectedVariants.get(0); }
@Override public Variant selectVariant(final List<Variant> variants) throws IllegalArgumentException { if (variants == null || variants.isEmpty()) { throw new IllegalArgumentException(METHOD_PARAMETER_CANNOT_BE_NULL_OR_EMPTY); } final Ref<String> varyValueRef = Refs.emptyRef(); final Variant variant = VariantSelector.selectVariant(this, variants, varyValueRef); this.varyValue = varyValueRef.get(); return variant; }
final List<Variant> variants, final Ref<String> varyHeaderValue) { LinkedList<VariantHolder> vhs = getVariantHolderList(variants); vhs = selectVariants(vhs, context.getQualifiedAcceptableMediaTypes(), MEDIA_TYPE_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptableLanguages(), LANGUAGE_TAG_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptCharset(), CHARSET_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptEncoding(), ENCODING_DC, vary);
/** * Select the representation variant that best matches the request. More explicit * variants are chosen ahead of less explicit ones. * * @param context inbound message context. * @param variants list of possible variants. * @param varyHeaderValue an output reference of vary header value that should be put * into the response Vary header. * @return selected variant. */ public static Variant selectVariant(final InboundMessageContext context, final List<Variant> variants, final Ref<String> varyHeaderValue) { final List<Variant> selectedVariants = selectVariants(context, variants, varyHeaderValue); return selectedVariants.isEmpty() ? null : selectedVariants.get(0); }
@Override public Variant selectVariant(final List<Variant> variants) throws IllegalArgumentException { if (variants == null || variants.isEmpty()) { throw new IllegalArgumentException(METHOD_PARAMETER_CANNOT_BE_NULL_OR_EMPTY); } final Ref<String> varyValueRef = Refs.emptyRef(); final Variant variant = VariantSelector.selectVariant(this, variants, varyValueRef); this.varyValue = varyValueRef.get(); return variant; }
final List<Variant> variants, final Ref<String> varyHeaderValue) { LinkedList<VariantHolder> vhs = getVariantHolderList(variants); vhs = selectVariants(vhs, context.getQualifiedAcceptableMediaTypes(), MEDIA_TYPE_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptableLanguages(), LANGUAGE_TAG_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptCharset(), CHARSET_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptEncoding(), ENCODING_DC, vary);
/** * Select the representation variant that best matches the request. More explicit * variants are chosen ahead of less explicit ones. * * @param context inbound message context. * @param variants list of possible variants. * @param varyHeaderValue an output reference of vary header value that should be put * into the response Vary header. * @return selected variant. */ public static Variant selectVariant(final InboundMessageContext context, final List<Variant> variants, final Ref<String> varyHeaderValue) { final List<Variant> selectedVariants = selectVariants(context, variants, varyHeaderValue); return selectedVariants.isEmpty() ? null : selectedVariants.get(0); }
@Override public Variant selectVariant(final List<Variant> variants) throws IllegalArgumentException { if (variants == null || variants.isEmpty()) { throw new IllegalArgumentException(METHOD_PARAMETER_CANNOT_BE_NULL_OR_EMPTY); } final Ref<String> varyValueRef = Refs.emptyRef(); final Variant variant = VariantSelector.selectVariant(this, variants, varyValueRef); this.varyValue = varyValueRef.get(); return variant; }
final List<Variant> variants, final Ref<String> varyHeaderValue) { LinkedList<VariantHolder> vhs = getVariantHolderList(variants); vhs = selectVariants(vhs, context.getQualifiedAcceptableMediaTypes(), MEDIA_TYPE_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptableLanguages(), LANGUAGE_TAG_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptCharset(), CHARSET_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptEncoding(), ENCODING_DC, vary);
/** * Select the representation variant that best matches the request. More explicit * variants are chosen ahead of less explicit ones. * * @param context inbound message context. * @param variants list of possible variants. * @param varyHeaderValue an output reference of vary header value that should be put * into the response Vary header. * @return selected variant. */ public static Variant selectVariant(final InboundMessageContext context, final List<Variant> variants, final Ref<String> varyHeaderValue) { final List<Variant> selectedVariants = selectVariants(context, variants, varyHeaderValue); return selectedVariants.isEmpty() ? null : selectedVariants.get(0); }
@Override public Variant selectVariant(final List<Variant> variants) throws IllegalArgumentException { if (variants == null || variants.isEmpty()) { throw new IllegalArgumentException(METHOD_PARAMETER_CANNOT_BE_NULL_OR_EMPTY); } final Ref<String> varyValueRef = Refs.emptyRef(); final Variant variant = VariantSelector.selectVariant(this, variants, varyValueRef); this.varyValue = varyValueRef.get(); return variant; }
final List<Variant> variants, final Ref<String> varyHeaderValue) { LinkedList<VariantHolder> vhs = getVariantHolderList(variants); vhs = selectVariants(vhs, context.getQualifiedAcceptableMediaTypes(), MEDIA_TYPE_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptableLanguages(), LANGUAGE_TAG_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptCharset(), CHARSET_DC, vary); vhs = selectVariants(vhs, context.getQualifiedAcceptEncoding(), ENCODING_DC, vary);