Class HeadersRequestCondition
- java.lang.Object
- org.springframework.web.servlet.mvc.condition.AbstractRequestCondition<HeadersRequestCondition>
- org.springframework.web.servlet.mvc.condition.HeadersRequestCondition
- All Implemented Interfaces:
RequestCondition<HeadersRequestCondition>
public final class HeadersRequestCondition extends AbstractRequestCondition<HeadersRequestCondition>
A logical conjunction (' && ') request condition that matches a request against a set of header expressions with syntax defined inRequestMapping.headers()
.Expressions passed to the constructor with header names 'Accept' or 'Content-Type' are ignored. See
ConsumesRequestCondition
andProducesRequestCondition
for those.- Since:
- 3.1
- Author:
- Arjen Poutsma, Rossen Stoyanchev
Constructor Summary
Constructors Constructor Description HeadersRequestCondition(String... headers)
Create a new instance from the given header expressions.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HeadersRequestCondition
combine(HeadersRequestCondition other)
Returns a new instance with the union of the header expressions from "this" and the "other" instance.int
compareTo(HeadersRequestCondition other, HttpServletRequest request)
Compare to another condition based on header expressions.protected Collection<org.springframework.web.servlet.mvc.condition.HeadersRequestCondition.HeaderExpression>
getContent()
Return the discrete items a request condition is composed of.Set<NameValueExpression<String>>
getExpressions()
Return the contained request header expressions.HeadersRequestCondition
getMatchingCondition(HttpServletRequest request)
Returns "this" instance if the request matches all expressions; ornull
otherwise.protected String
getToStringInfix()
The notation to use when printing discrete items of content.Methods inherited from class org.springframework.web.servlet.mvc.condition.AbstractRequestCondition
equals, hashCode, isEmpty, toString
Constructor Detail
HeadersRequestCondition
public HeadersRequestCondition(String... headers)
Create a new instance from the given header expressions. Expressions with header names 'Accept' or 'Content-Type' are ignored. SeeConsumesRequestCondition
andProducesRequestCondition
for those.- Parameters:
headers
- media type expressions with syntax defined inRequestMapping.headers()
; if 0, the condition will match to every request
Method Detail
getExpressions
public Set<NameValueExpression<String>> getExpressions()
Return the contained request header expressions.
getContent
protected Collection<org.springframework.web.servlet.mvc.condition.HeadersRequestCondition.HeaderExpression> getContent()
Description copied from class:AbstractRequestCondition
Return the discrete items a request condition is composed of.For example URL patterns, HTTP request methods, param expressions, etc.
- Specified by:
getContent
in classAbstractRequestCondition<HeadersRequestCondition>
- Returns:
- a collection of objects (never
null
)
getToStringInfix
protected String getToStringInfix()
Description copied from class:AbstractRequestCondition
The notation to use when printing discrete items of content.For example
" || "
for URL patterns or" && "
for param expressions.- Specified by:
getToStringInfix
in classAbstractRequestCondition<HeadersRequestCondition>
combine
public HeadersRequestCondition combine(HeadersRequestCondition other)
Returns a new instance with the union of the header expressions from "this" and the "other" instance.- Parameters:
other
- the condition to combine with.- Returns:
- a request condition instance that is the result of combining the two condition instances.
getMatchingCondition
@Nullable public HeadersRequestCondition getMatchingCondition(HttpServletRequest request)
Returns "this" instance if the request matches all expressions; ornull
otherwise.- Returns:
- a condition instance in case of a match or
null
otherwise.
compareTo
public int compareTo(HeadersRequestCondition other, HttpServletRequest request)
Compare to another condition based on header expressions. A condition is considered to be a more specific match, if it has:- A greater number of expressions.
- A greater number of non-negated expressions with a concrete value.
It is assumed that both instances have been obtained via
getMatchingCondition(HttpServletRequest)
and each instance contains the matching header expression only or is otherwise empty.