org.apache.sling.servlets.post.impl.helper
Class MediaRangeList
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractSet<E>
java.util.TreeSet<MediaRangeList.MediaRange>
org.apache.sling.servlets.post.impl.helper.MediaRangeList
- All Implemented Interfaces:
- Serializable, Cloneable, Iterable<MediaRangeList.MediaRange>, Collection<MediaRangeList.MediaRange>, NavigableSet<MediaRangeList.MediaRange>, Set<MediaRangeList.MediaRange>, SortedSet<MediaRangeList.MediaRange>
public class MediaRangeList
- extends TreeSet<MediaRangeList.MediaRange>
Facilitates parsing of the Accept HTTP request header.
See RFC 2616 section 14.1
- See Also:
- Serialized Form
Constructor Summary |
MediaRangeList(javax.servlet.http.HttpServletRequest request)
Constructs a MediaRangeList using information from the supplied HttpServletRequest . |
MediaRangeList(String listStr)
Constructs a MediaRangeList using a list of media ranges specified in a java.lang.String . |
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, subSet, subSet, tailSet, tailSet |
HEADER_ACCEPT
public static final String HEADER_ACCEPT
- See Also:
- Constant Field Values
PARAM_ACCEPT
public static final String PARAM_ACCEPT
- See Also:
- Constant Field Values
WILDCARD
public static final String WILDCARD
- See Also:
- Constant Field Values
MediaRangeList
public MediaRangeList(javax.servlet.http.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(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
contains
public boolean contains(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:
IllegalArgumentException
- if mediaType
is not on an accepted form
NullPointerException
- if mediaType
is null
prefer
public MediaRangeList.MediaRange prefer(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.MediaRange
s
- Returns:
- One of the
mediaRanges
that this MediaRangeList
prefers;
or null
if this MediaRangeList
does not contain any of the mediaRanges
- Throws:
NullPointerException
- if mediaRanges
is null
or contains a null
value
prefer
public String prefer(String... mediaRanges)
- Determines which of the
mediaRanges
specifiactions is prefered by this MediaRangeList
.
- Parameters:
mediaRanges
- String representations of MediaRange
s. The strings must be
on the form required by MediaRange#MediaRange(String)
- Returns:
- the
toString
representation of the prefered MediaRange
, or null
if this MediaRangeList
does not contain any of the mediaRanges
- See Also:
prefer(java.util.Set)
Copyright © 2007-2013 The Apache Software Foundation. All Rights Reserved.