org.springframework.web.servlet.mvc.condition
Class HeadersRequestCondition

java.lang.Object
  extended by org.springframework.web.servlet.mvc.condition.AbstractRequestCondition<HeadersRequestCondition>
      extended by 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 in RequestMapping.headers().

Expressions passed to the constructor with header names 'Accept' or 'Content-Type' are ignored. See ConsumesRequestCondition and ProducesRequestCondition for those.

Since:
3.1
Author:
Arjen Poutsma, Rossen Stoyanchev

Constructor Summary
HeadersRequestCondition(String... headers)
          Create a new instance from the given header expressions.
 
Method Summary
 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)
          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
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; or null 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, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

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. See ConsumesRequestCondition and ProducesRequestCondition for those.

Parameters:
headers - media type expressions with syntax defined in RequestMapping.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 class AbstractRequestCondition<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 class AbstractRequestCondition<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.

getMatchingCondition

public HeadersRequestCondition getMatchingCondition(HttpServletRequest request)
Returns "this" instance if the request matches all expressions; or null otherwise.

Returns:
a condition instance in case of a match; or null if there is no match.

compareTo

public int compareTo(HeadersRequestCondition other,
                     HttpServletRequest request)
Returns:

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.