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
ConsumesRequestConditionandProducesRequestConditionfor 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 HeadersRequestConditioncombine(HeadersRequestCondition other)Returns a new instance with the union of the header expressions from "this" and the "other" instance.intcompareTo(HeadersRequestCondition other, HttpServletRequest request)Returns: 0 if the two conditions have the same number of header expressions Less than 0 if "this" instance has more header expressions Greater than 0 if the "other" instance has more header expressionsprotected 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.HeadersRequestConditiongetMatchingCondition(HttpServletRequest request)Returns "this" instance if the request matches all expressions; ornullotherwise.protected StringgetToStringInfix()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. SeeConsumesRequestConditionandProducesRequestConditionfor 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:AbstractRequestConditionReturn the discrete items a request condition is composed of.For example URL patterns, HTTP request methods, param expressions, etc.
- Specified by:
getContentin classAbstractRequestCondition<HeadersRequestCondition>- Returns:
- a collection of objects (never
null)
getToStringInfix
protected String getToStringInfix()
Description copied from class:AbstractRequestConditionThe notation to use when printing discrete items of content.For example
" || "for URL patterns or" && "for param expressions.- Specified by:
getToStringInfixin 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
public HeadersRequestCondition getMatchingCondition(HttpServletRequest request)
Returns "this" instance if the request matches all expressions; ornullotherwise.- Returns:
- a condition instance in case of a match or
nullotherwise.
compareTo
public int compareTo(HeadersRequestCondition other, HttpServletRequest request)
Returns:- 0 if the two conditions have the same number of header expressions
- Less than 0 if "this" instance has more header expressions
- Greater than 0 if the "other" instance has more header expressions
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.