Class MediaRangeList

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  MediaRangeList.MediaRange
      A code MediaRange represents an entry in a MediaRangeList.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String HEADER_ACCEPT  
      static java.lang.String PARAM_ACCEPT  
      static java.lang.String WILDCARD  
    • Constructor Summary

      Constructors 
      Constructor Description
      MediaRangeList​(java.lang.String listStr)
      Constructs a MediaRangeList using a list of media ranges specified in a java.lang.String.
      MediaRangeList​(HttpServletRequest request)
      Constructs a MediaRangeList using information from the supplied HttpServletRequest.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean contains​(java.lang.String mediaType)
      Determines if this MediaRangeList contains a given media type.
      java.lang.String prefer​(java.lang.String... mediaRanges)
      Determines which of the mediaRanges specifications is preferred by this MediaRangeList.
      MediaRangeList.MediaRange prefer​(java.util.Set<MediaRangeList.MediaRange> mediaRanges)
      Given a list of media types, returns the one is preferred by this MediaRangeList.
      • Methods inherited from class java.util.TreeSet

        add, addAll, ceiling, clear, clone, comparator, contains, descendingIterator, descendingSet, first, floor, headSet, headSet, higher, isEmpty, iterator, last, lower, pollFirst, pollLast, remove, size, spliterator, subSet, subSet, tailSet, tailSet
      • Methods inherited from class java.util.AbstractSet

        equals, hashCode, removeAll
      • Methods inherited from class java.util.AbstractCollection

        containsAll, retainAll, toArray, toArray, toString
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        parallelStream, removeIf, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
      • Methods inherited from interface java.util.Set

        containsAll, equals, hashCode, removeAll, retainAll, toArray, toArray
    • Constructor Detail

      • MediaRangeList

        public MediaRangeList​(HttpServletRequest request)
        Constructs a MediaRangeList using information from the supplied HttpServletRequest. if the request contains a PARAM_ACCEPT query parameter, the query parameter value overrides any HEADER_ACCEPT header value. If the request contains no PARAM_ACCEPT parameter, or the parameter value is empty, the value of the HEADER_ACCEPT is used. If both values are missing, it is assumed that the client accepts all media types, as per the RFC. See also MediaRangeList(java.lang.String)
        Parameters:
        request - The HttpServletRequest to extract a MediaRangeList from
      • MediaRangeList

        public MediaRangeList​(java.lang.String listStr)
        Constructs a MediaRangeList using a list of media ranges specified in a java.lang.String. The string is a comma-separated list of media ranges, as specified by the RFC.
        Examples:
        • text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5
        • text/html;q=0.8, application/json
        Parameters:
        listStr - The list of media range specifications
    • Method Detail

      • contains

        public boolean contains​(java.lang.String mediaType)
        Determines if this MediaRangeList contains a given media type.
        Parameters:
        mediaType - A string on the form type/subtype. Neither type or subtype should be wildcard (*).
        Returns:
        true if this MediaRangeList contains a media type that matches mediaType, false otherwise
        Throws:
        java.lang.IllegalArgumentException - if mediaType is not on an accepted form
        java.lang.NullPointerException - if mediaType is null
      • prefer

        public MediaRangeList.MediaRange prefer​(java.util.Set<MediaRangeList.MediaRange> mediaRanges)
        Given a list of media types, returns the one is preferred by this MediaRangeList.
        Parameters:
        mediaRanges - An array of possible MediaRangeList.MediaRanges
        Returns:
        One of the mediaRanges that this MediaRangeList prefers; or null if this MediaRangeList does not contain any of the mediaRanges
        Throws:
        java.lang.NullPointerException - if mediaRanges is null or contains a null value
      • prefer

        public java.lang.String prefer​(java.lang.String... mediaRanges)
        Determines which of the mediaRanges specifications is preferred by this MediaRangeList.
        Parameters:
        mediaRanges - String representations of MediaRanges. The strings must be on the form required by MediaRange(String)
        Returns:
        the toString() representation of the preferred MediaRange, or null if this MediaRangeList does not contain any of the mediaRanges
        See Also:
        prefer(java.util.Set)