/** * Returns the best variant representation for a given resource according * the the client preferences.<br> * A default language is provided in case the variants don't match the * client preferences. * * @param variants * The list of variants to compare. * @param request * The request including client preferences. * @param metadataService * The metadata service used to get default metadata values. * @return The preferred variant. * @see <a * href="http://httpd.apache.org/docs/2.2/en/content-negotiation.html#algorithm">Apache * content negotiation algorithm</a> */ public Variant getPreferredVariant(List<? extends Variant> variants, Request request, MetadataService metadataService) { Conneg conneg = isStrict() ? new StrictConneg(request, metadataService) : new FlexibleConneg(request, metadataService); return conneg.getPreferredVariant(variants); }
&& getConnegService().isStrict()) { doError(Status.CLIENT_ERROR_NOT_ACCEPTABLE); } else {