|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.web.servlet.mvc.condition.AbstractRequestCondition<ProducesRequestCondition> org.springframework.web.servlet.mvc.condition.ProducesRequestCondition
public final class ProducesRequestCondition
A logical disjunction (' || ') request condition to match a request's 'Accept' header
to a list of media type expressions. Two kinds of media type expressions are
supported, which are described in RequestMapping.produces()
and
RequestMapping.headers()
where the header name is 'Accept'.
Regardless of which syntax is used, the semantics are the same.
Nested Class Summary | |
---|---|
(package private) static class |
ProducesRequestCondition.ProduceMediaTypeExpression
Parses and matches a single media type expression to a request's 'Accept' header. |
Field Summary | |
---|---|
private static java.util.List<ProducesRequestCondition.ProduceMediaTypeExpression> |
DEFAULT_EXPRESSION_LIST
|
private java.util.List<ProducesRequestCondition.ProduceMediaTypeExpression> |
expressions
|
Constructor Summary | |
---|---|
private |
ProducesRequestCondition(java.util.Collection<ProducesRequestCondition.ProduceMediaTypeExpression> expressions)
Private constructor accepting parsed media type expressions. |
|
ProducesRequestCondition(java.lang.String... produces)
Creates a new instance from 0 or more "produces" expressions. |
|
ProducesRequestCondition(java.lang.String[] produces,
java.lang.String[] headers)
Creates a new instance with "produces" and "header" expressions. |
Method Summary | |
---|---|
ProducesRequestCondition |
combine(ProducesRequestCondition other)
Returns the "other" instance if it has any expressions; returns "this" instance otherwise. |
private static int |
compareMatchingMediaTypes(ProducesRequestCondition condition1,
int index1,
ProducesRequestCondition condition2,
int index2)
|
int |
compareTo(ProducesRequestCondition other,
HttpServletRequest request)
Compares this and another "produces" condition as follows: Sort 'Accept' header media types by quality value via MediaType.sortByQualityValue(List) and iterate the list. |
private static java.util.List<MediaType> |
getAcceptedMediaTypes(HttpServletRequest request)
|
protected java.util.List<ProducesRequestCondition.ProduceMediaTypeExpression> |
getContent()
Return the discrete items a request condition is composed of. |
java.util.Set<MediaTypeExpression> |
getExpressions()
Return the contained "produces" expressions. |
private java.util.List<ProducesRequestCondition.ProduceMediaTypeExpression> |
getExpressionsToCompare()
Return the contained "produces" expressions or if that's empty, a list with a MediaType_ALL expression. |
ProducesRequestCondition |
getMatchingCondition(HttpServletRequest request)
Checks if any of the contained media type expressions match the given request 'Content-Type' header and returns an instance that is guaranteed to contain matching expressions only. |
java.util.Set<MediaType> |
getProducibleMediaTypes()
Return the contained producible media types excluding negated expressions. |
protected java.lang.String |
getToStringInfix()
The notation to use when printing discrete items of content. |
private int |
indexOfEqualMediaType(MediaType mediaType)
|
private int |
indexOfIncludedMediaType(MediaType mediaType)
|
boolean |
isEmpty()
Whether the condition has any media type expressions. |
private static java.util.Set<ProducesRequestCondition.ProduceMediaTypeExpression> |
parseExpressions(java.lang.String[] produces,
java.lang.String[] headers)
|
Methods inherited from class org.springframework.web.servlet.mvc.condition.AbstractRequestCondition |
---|
equals, hashCode, toString |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private final java.util.List<ProducesRequestCondition.ProduceMediaTypeExpression> expressions
private static final java.util.List<ProducesRequestCondition.ProduceMediaTypeExpression> DEFAULT_EXPRESSION_LIST
Constructor Detail |
---|
public ProducesRequestCondition(java.lang.String... produces)
produces
- expressions with the syntax described in RequestMapping.produces()
if 0 expressions are provided, the condition matches to every requestpublic ProducesRequestCondition(java.lang.String[] produces, java.lang.String[] headers)
produces
- expressions with the syntax described in RequestMapping.produces()
headers
- expressions with the syntax described in RequestMapping.headers()
private ProducesRequestCondition(java.util.Collection<ProducesRequestCondition.ProduceMediaTypeExpression> expressions)
Method Detail |
---|
private static java.util.Set<ProducesRequestCondition.ProduceMediaTypeExpression> parseExpressions(java.lang.String[] produces, java.lang.String[] headers)
public java.util.Set<MediaTypeExpression> getExpressions()
public java.util.Set<MediaType> getProducibleMediaTypes()
public boolean isEmpty()
protected java.util.List<ProducesRequestCondition.ProduceMediaTypeExpression> getContent()
AbstractRequestCondition
getContent
in class AbstractRequestCondition<ProducesRequestCondition>
null
protected java.lang.String getToStringInfix()
AbstractRequestCondition
getToStringInfix
in class AbstractRequestCondition<ProducesRequestCondition>
public ProducesRequestCondition combine(ProducesRequestCondition other)
other
- the condition to combine with.public ProducesRequestCondition getMatchingCondition(HttpServletRequest request)
MediaType.isCompatibleWith(MediaType)
.
request
- the current request
null
if no expressions match.public int compareTo(ProducesRequestCondition other, HttpServletRequest request)
MediaType.sortByQualityValue(List)
and iterate the list.
MediaType.equals(Object)
and
then with MediaType.includes(MediaType)
.
MediaType.SPECIFICITY_COMPARATOR
.
It is assumed that both instances have been obtained via
getMatchingCondition(HttpServletRequest)
and each instance
contains the matching producible media type expression only or
is otherwise empty.
private static java.util.List<MediaType> getAcceptedMediaTypes(HttpServletRequest request)
private int indexOfEqualMediaType(MediaType mediaType)
private int indexOfIncludedMediaType(MediaType mediaType)
private static int compareMatchingMediaTypes(ProducesRequestCondition condition1, int index1, ProducesRequestCondition condition2, int index2)
private java.util.List<ProducesRequestCondition.ProduceMediaTypeExpression> getExpressionsToCompare()
MediaType_ALL
expression.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |