Class StrictConneg

  • Direct Known Subclasses:
    FlexibleConneg

    public class StrictConneg
    extends Conneg
    Content negotiation algorithm that strictly interprets the content negotiation preferences.
    Author:
    Jerome Louvel
    • Constructor Summary

      Constructors 
      Constructor Description
      StrictConneg​(org.restlet.Request request, org.restlet.service.MetadataService metadataService)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.util.List<org.restlet.data.Preference<org.restlet.data.CharacterSet>> getCharacterSetPrefs()
      Returns the enriched list of character set preferences.
      protected java.util.List<org.restlet.data.Preference<org.restlet.data.Encoding>> getEncodingPrefs()
      Returns the enriched list of encoding preferences.
      protected java.util.List<org.restlet.data.Preference<org.restlet.data.Language>> getLanguagePrefs()
      Returns the enriched list of language preferences.
      protected java.util.List<org.restlet.data.Preference<org.restlet.data.MediaType>> getMediaTypePrefs()
      Returns the enriched list of media type preferences.
      protected float scoreAnnotation​(MethodAnnotationInfo annotation)
      Scores the annotation descriptor.
      float scoreCharacterSet​(org.restlet.data.CharacterSet characterSet)
      Scores a character set relatively to enriched client preferences.
      float scoreEncodings​(java.util.List<org.restlet.data.Encoding> encodings)
      Scores encodings relatively to enriched client preferences.
      float scoreLanguages​(java.util.List<org.restlet.data.Language> languages)
      Scores languages relatively to enriched client preferences.
      float scoreMediaType​(org.restlet.data.MediaType mediaType)
      Scores a media type relatively to enriched client preferences.
      protected <T extends org.restlet.data.Metadata>
      float
      scoreMetadata​(java.util.List<T> metadataList, java.util.List<org.restlet.data.Preference<T>> prefs)
      Scores a list of metadata relatively to enriched client preferences.
      protected <T extends org.restlet.data.Metadata>
      float
      scoreMetadata​(T metadata, java.util.List<org.restlet.data.Preference<T>> prefs)
      Scores a metadata relatively to enriched client preferences.
      float scoreVariant​(org.restlet.representation.Variant variant)
      Scores a variant relatively to enriched client preferences.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • StrictConneg

        public StrictConneg​(org.restlet.Request request,
                            org.restlet.service.MetadataService metadataService)
        Constructor.
        Parameters:
        request - The request including client preferences.
        metadataService - The metadata service used to get default metadata values.
    • Method Detail

      • getCharacterSetPrefs

        protected java.util.List<org.restlet.data.Preference<org.restlet.data.CharacterSet>> getCharacterSetPrefs()
        Returns the enriched list of character set preferences.
        Returns:
        The enriched list of character set preferences.
      • getEncodingPrefs

        protected java.util.List<org.restlet.data.Preference<org.restlet.data.Encoding>> getEncodingPrefs()
        Returns the enriched list of encoding preferences.
        Returns:
        The enriched list of encoding preferences.
      • getLanguagePrefs

        protected java.util.List<org.restlet.data.Preference<org.restlet.data.Language>> getLanguagePrefs()
        Returns the enriched list of language preferences.
        Returns:
        The enriched list of language preferences.
      • getMediaTypePrefs

        protected java.util.List<org.restlet.data.Preference<org.restlet.data.MediaType>> getMediaTypePrefs()
        Returns the enriched list of media type preferences.
        Returns:
        The enriched list of media type preferences.
      • scoreAnnotation

        protected float scoreAnnotation​(MethodAnnotationInfo annotation)
        Scores the annotation descriptor. By default, it assess the quality of the query parameters with the URI query constraint defined in the annotation value if any.
        Parameters:
        annotation - The annotation descriptor to score.
        Returns:
        The annotation descriptor score.
      • scoreCharacterSet

        public float scoreCharacterSet​(org.restlet.data.CharacterSet characterSet)
        Scores a character set relatively to enriched client preferences.
        Parameters:
        characterSet - The character set to score.
        Returns:
        The score.
      • scoreEncodings

        public float scoreEncodings​(java.util.List<org.restlet.data.Encoding> encodings)
        Scores encodings relatively to enriched client preferences.
        Parameters:
        encodings - The encodings to score.
        Returns:
        The score.
      • scoreLanguages

        public float scoreLanguages​(java.util.List<org.restlet.data.Language> languages)
        Scores languages relatively to enriched client preferences.
        Parameters:
        languages - The languages to score.
        Returns:
        The score.
      • scoreMediaType

        public float scoreMediaType​(org.restlet.data.MediaType mediaType)
        Scores a media type relatively to enriched client preferences.
        Parameters:
        mediaType - The media type to score.
        Returns:
        The score.
      • scoreMetadata

        protected <T extends org.restlet.data.Metadata> float scoreMetadata​(java.util.List<T> metadataList,
                                                                            java.util.List<org.restlet.data.Preference<T>> prefs)
        Scores a list of metadata relatively to enriched client preferences.
        Parameters:
        metadataList - The list of metadata to score.
        Returns:
        The score.
      • scoreMetadata

        protected <T extends org.restlet.data.Metadata> float scoreMetadata​(T metadata,
                                                                            java.util.List<org.restlet.data.Preference<T>> prefs)
        Scores a metadata relatively to enriched client preferences.
        Parameters:
        metadata - The metadata to score.
        Returns:
        The score.
      • scoreVariant

        public float scoreVariant​(org.restlet.representation.Variant variant)
        Scores a variant relatively to enriched client preferences. The language has a weight of 4, the media type 3, the character set 2 and the encoding 1.
        Specified by:
        scoreVariant in class Conneg
        Parameters:
        variant - The variant to score.
        Returns:
        The enriched client preferences.