Class MediaRangeList
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractSet<E>
-
- java.util.TreeSet<MediaRangeList.MediaRange>
-
- org.apache.sling.api.request.header.MediaRangeList
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.lang.Iterable<MediaRangeList.MediaRange>,java.util.Collection<MediaRangeList.MediaRange>,java.util.NavigableSet<MediaRangeList.MediaRange>,java.util.Set<MediaRangeList.MediaRange>,java.util.SortedSet<MediaRangeList.MediaRange>
@ConsumerType public class MediaRangeList extends java.util.TreeSet<MediaRangeList.MediaRange>
Facilitates parsing of the Accept HTTP request header. See RFC 2616 section 14.1- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classMediaRangeList.MediaRangeA codeMediaRangerepresents an entry in aMediaRangeList.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringHEADER_ACCEPTstatic java.lang.StringPARAM_ACCEPTstatic java.lang.StringWILDCARD
-
Constructor Summary
Constructors Constructor Description MediaRangeList(java.lang.String listStr)Constructs aMediaRangeListusing a list of media ranges specified in ajava.lang.String.MediaRangeList(javax.servlet.http.HttpServletRequest request)Constructs aMediaRangeListusing information from the suppliedHttpServletRequest.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancontains(java.lang.String mediaType)Determines if this MediaRangeList contains a given media type.java.lang.Stringprefer(java.lang.String... mediaRanges)Determines which of themediaRangesspecifications is preferred by thisMediaRangeList.MediaRangeList.MediaRangeprefer(java.util.Set<MediaRangeList.MediaRange> mediaRanges)Given a list of media types, returns the one is preferred by thisMediaRangeList.-
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
-
-
-
-
Field Detail
-
HEADER_ACCEPT
public static final java.lang.String HEADER_ACCEPT
- See Also:
- Constant Field Values
-
PARAM_ACCEPT
public static final java.lang.String PARAM_ACCEPT
- See Also:
- Constant Field Values
-
WILDCARD
public static final java.lang.String WILDCARD
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
MediaRangeList
public MediaRangeList(javax.servlet.http.HttpServletRequest request)
Constructs aMediaRangeListusing information from the suppliedHttpServletRequest. if the request contains aPARAM_ACCEPTquery parameter, the query parameter value overrides anyHEADER_ACCEPTheader value. If the request contains noPARAM_ACCEPTparameter, or the parameter value is empty, the value of theHEADER_ACCEPTis used. If both values are missing, it is assumed that the client accepts all media types, as per the RFC. See alsoMediaRangeList(java.lang.String)- Parameters:
request- TheHttpServletRequestto extract aMediaRangeListfrom
-
MediaRangeList
public MediaRangeList(java.lang.String listStr)
Constructs aMediaRangeListusing a list of media ranges specified in ajava.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.5text/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 formtype/subtype. Neithertypeorsubtypeshould be wildcard (*).- Returns:
trueif thisMediaRangeListcontains a media type that matchesmediaType,falseotherwise- Throws:
java.lang.IllegalArgumentException- ifmediaTypeis not on an accepted formjava.lang.NullPointerException- ifmediaTypeisnull
-
prefer
public MediaRangeList.MediaRange prefer(java.util.Set<MediaRangeList.MediaRange> mediaRanges)
Given a list of media types, returns the one is preferred by thisMediaRangeList.- Parameters:
mediaRanges- An array of possibleMediaRangeList.MediaRanges- Returns:
- One of the
mediaRangesthat thisMediaRangeListprefers; ornullif thisMediaRangeListdoes not contain any of themediaRanges - Throws:
java.lang.NullPointerException- ifmediaRangesisnullor contains anullvalue
-
prefer
public java.lang.String prefer(java.lang.String... mediaRanges)
Determines which of themediaRangesspecifications is preferred by thisMediaRangeList.- Parameters:
mediaRanges- String representations ofMediaRanges. The strings must be on the form required byMediaRange(String)- Returns:
- the
toString()representation of the preferredMediaRange, ornullif thisMediaRangeListdoes not contain any of themediaRanges - See Also:
prefer(java.util.Set)
-
-