Class LanguageNegotiator


  • public final class LanguageNegotiator
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      LanguageNegotiator​(scala.collection.immutable.Seq<HttpHeader> requestHeaders)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      scala.collection.immutable.List<LanguageRange> acceptedLanguageRanges()
      The language-ranges accepted by the client according to given request headers, sorted by 1. increasing generality (i.e. most specific first) 2. decreasing q-value (only for ranges targeting a single Language) 3. order of appearance in the Accept-Language header(s)
      static LanguageNegotiator apply​(scala.collection.immutable.Seq<HttpHeader> requestHeaders)  
      boolean isAccepted​(Language language)
      Determines whether the given language is accepted by the client.
      scala.Option<Language> pickLanguage​(scala.collection.immutable.List<Language> alternatives)
      Picks the best of the given language alternatives given the preferences the client indicated in the request's Accept-Language headers.
      float qValueFor​(Language language)
      Returns the q-value that the client (implicitly or explicitly) attaches to the given language.
      • Methods inherited from class java.lang.Object

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

      • LanguageNegotiator

        public LanguageNegotiator​(scala.collection.immutable.Seq<HttpHeader> requestHeaders)
    • Method Detail

      • acceptedLanguageRanges

        public scala.collection.immutable.List<LanguageRange> acceptedLanguageRanges()
        The language-ranges accepted by the client according to given request headers, sorted by 1. increasing generality (i.e. most specific first) 2. decreasing q-value (only for ranges targeting a single Language) 3. order of appearance in the Accept-Language header(s)
        Returns:
        (undocumented)
      • qValueFor

        public float qValueFor​(Language language)
        Returns the q-value that the client (implicitly or explicitly) attaches to the given language. See http://tools.ietf.org/html/rfc7231#section-5.3.1 for details.
        Parameters:
        language - (undocumented)
        Returns:
        (undocumented)
      • isAccepted

        public boolean isAccepted​(Language language)
        Determines whether the given language is accepted by the client.
        Parameters:
        language - (undocumented)
        Returns:
        (undocumented)
      • pickLanguage

        public scala.Option<Language> pickLanguage​(scala.collection.immutable.List<Language> alternatives)
        Picks the best of the given language alternatives given the preferences the client indicated in the request's Accept-Language headers. See http://tools.ietf.org/html/rfc7231#section-5.3.5 for details on the negotiation logic.

        If there are several best language alternatives that the client has equal preference for the order of the given alternatives is used as a tie breaker (first one wins).

        If none of the given alternatives is acceptable to the client the methods return None.

        Parameters:
        alternatives - (undocumented)
        Returns:
        (undocumented)