public final class VariantSelector
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static interface |
VariantSelector.DimensionChecker<T,U>
Interface to get a dimension value from a variant and check if an
acceptable dimension value is compatible with a dimension value.
|
private static class |
VariantSelector.VariantHolder |
Modifier and Type | Field and Description |
---|---|
private static VariantSelector.DimensionChecker<AcceptableToken,java.lang.String> |
CHARSET_DC |
private static VariantSelector.DimensionChecker<AcceptableToken,java.lang.String> |
ENCODING_DC |
private static VariantSelector.DimensionChecker<AcceptableLanguageTag,java.util.Locale> |
LANGUAGE_TAG_DC |
private static VariantSelector.DimensionChecker<AcceptableMediaType,javax.ws.rs.core.MediaType> |
MEDIA_TYPE_DC |
Modifier | Constructor and Description |
---|---|
private |
VariantSelector() |
Modifier and Type | Method and Description |
---|---|
private static java.util.LinkedList<VariantSelector.VariantHolder> |
getVariantHolderList(java.util.List<javax.ws.rs.core.Variant> variants) |
static javax.ws.rs.core.Variant |
selectVariant(InboundMessageContext context,
java.util.List<javax.ws.rs.core.Variant> variants,
Ref<java.lang.String> varyHeaderValue)
Select the representation variant that best matches the request.
|
static java.util.List<javax.ws.rs.core.Variant> |
selectVariants(InboundMessageContext context,
java.util.List<javax.ws.rs.core.Variant> variants,
Ref<java.lang.String> varyHeaderValue)
Select possible representation variants in order in which they best matches the request.
|
private static <T extends Qualified,U> |
selectVariants(java.util.List<VariantSelector.VariantHolder> variantHolders,
java.util.List<T> acceptableValues,
VariantSelector.DimensionChecker<T,U> dimensionChecker,
java.util.Set<java.lang.String> vary)
Select variants for a given dimension.
|
private static final VariantSelector.DimensionChecker<AcceptableMediaType,javax.ws.rs.core.MediaType> MEDIA_TYPE_DC
private static final VariantSelector.DimensionChecker<AcceptableLanguageTag,java.util.Locale> LANGUAGE_TAG_DC
private static final VariantSelector.DimensionChecker<AcceptableToken,java.lang.String> CHARSET_DC
private static final VariantSelector.DimensionChecker<AcceptableToken,java.lang.String> ENCODING_DC
private static <T extends Qualified,U> java.util.LinkedList<VariantSelector.VariantHolder> selectVariants(java.util.List<VariantSelector.VariantHolder> variantHolders, java.util.List<T> acceptableValues, VariantSelector.DimensionChecker<T,U> dimensionChecker, java.util.Set<java.lang.String> vary)
variantHolders
- collection of variants.acceptableValues
- the list of acceptable dimension values, ordered by the quality
parameter, with the highest quality dimension value occurring
first.dimensionChecker
- the dimension checkervary
- output list of generated vary headers.private static java.util.LinkedList<VariantSelector.VariantHolder> getVariantHolderList(java.util.List<javax.ws.rs.core.Variant> variants)
public static javax.ws.rs.core.Variant selectVariant(InboundMessageContext context, java.util.List<javax.ws.rs.core.Variant> variants, Ref<java.lang.String> varyHeaderValue)
context
- inbound message context.variants
- list of possible variants.varyHeaderValue
- an output reference of vary header value that should be put
into the response Vary header.public static java.util.List<javax.ws.rs.core.Variant> selectVariants(InboundMessageContext context, java.util.List<javax.ws.rs.core.Variant> variants, Ref<java.lang.String> varyHeaderValue)
context
- inbound message context.variants
- list of possible variants.varyHeaderValue
- an output reference of vary header value that should be put into the response Vary header.