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

java.lang.Object
  extended by org.springframework.web.servlet.mvc.condition.AbstractRequestCondition<ParamsRequestCondition>
      extended by org.springframework.web.servlet.mvc.condition.ParamsRequestCondition
All Implemented Interfaces:
RequestCondition<ParamsRequestCondition>

public final class ParamsRequestCondition
extends AbstractRequestCondition<ParamsRequestCondition>

A logical conjunction (' && ') request condition that matches a request against a set parameter expressions with syntax defined in RequestMapping.params().

Since:
3.1
Author:
Arjen Poutsma, Rossen Stoyanchev

Nested Class Summary
(package private) static class ParamsRequestCondition.ParamExpression
          Parses and matches a single param expression to a request.
 
Field Summary
private  java.util.Set<ParamsRequestCondition.ParamExpression> expressions
           
 
Constructor Summary
private ParamsRequestCondition(java.util.Collection<ParamsRequestCondition.ParamExpression> conditions)
           
  ParamsRequestCondition(java.lang.String... params)
          Create a new instance from the given param expressions.
 
Method Summary
 ParamsRequestCondition combine(ParamsRequestCondition other)
          Returns a new instance with the union of the param expressions from "this" and the "other" instance.
 int compareTo(ParamsRequestCondition other, HttpServletRequest request)
          Returns: 0 if the two conditions have the same number of parameter expressions Less than 1 if "this" instance has more parameter expressions Greater than 1 if the "other" instance has more parameter expressions
protected  java.util.Collection<ParamsRequestCondition.ParamExpression> getContent()
          Return the discrete items a request condition is composed of.
 java.util.Set<NameValueExpression<java.lang.String>> getExpressions()
          Return the contained request parameter expressions.
 ParamsRequestCondition getMatchingCondition(HttpServletRequest request)
          Returns "this" instance if the request matches all param expressions; or null otherwise.
protected  java.lang.String getToStringInfix()
          The notation to use when printing discrete items of content.
private static java.util.Collection<ParamsRequestCondition.ParamExpression> parseExpressions(java.lang.String... params)
           
 
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

expressions

private final java.util.Set<ParamsRequestCondition.ParamExpression> expressions
Constructor Detail

ParamsRequestCondition

public ParamsRequestCondition(java.lang.String... params)
Create a new instance from the given param expressions.

Parameters:
params - expressions with syntax defined in RequestMapping.params(); if 0, the condition will match to every request.

ParamsRequestCondition

private ParamsRequestCondition(java.util.Collection<ParamsRequestCondition.ParamExpression> conditions)
Method Detail

parseExpressions

private static java.util.Collection<ParamsRequestCondition.ParamExpression> parseExpressions(java.lang.String... params)

getExpressions

public java.util.Set<NameValueExpression<java.lang.String>> getExpressions()
Return the contained request parameter expressions.


getContent

protected java.util.Collection<ParamsRequestCondition.ParamExpression> 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<ParamsRequestCondition>
Returns:
a collection of objects, never null

getToStringInfix

protected java.lang.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<ParamsRequestCondition>

combine

public ParamsRequestCondition combine(ParamsRequestCondition other)
Returns a new instance with the union of the param expressions from "this" and the "other" instance.

Parameters:
other - the condition to combine with.

getMatchingCondition

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

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

compareTo

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

It is assumed that both instances have been obtained via getMatchingCondition(HttpServletRequest) and each instance contains the matching parameter expressions only or is otherwise empty.