Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.web.servlet.mvc.condition
Class RequestConditionHolder

    java.lang.Object
      org.springframework.web.servlet.mvc.condition.AbstractRequestCondition<RequestConditionHolder>
          org.springframework.web.servlet.mvc.condition.RequestConditionHolder

All Implemented Interfaces:
  RequestCondition<RequestConditionHolder>

    public final class RequestConditionHolder

extends AbstractRequestCondition<RequestConditionHolder>

A holder for a `RequestCondition` useful when the type of the request condition is not known ahead of time, e.g. custom condition. Since this class is also an implementation of `RequestCondition`, effectively it decorates the held request condition and allows it to be combined and compared with other request conditions in a type and null safe way.

When two `RequestConditionHolder` instances are combined or compared with each other, it is expected the conditions they hold are of the same type. If they are not, a `ClassCastException` is raised.

Since:
  3.1
Author:
  Rossen Stoyanchev

Constructor Summary
`RequestConditionHolder(RequestCondition<?> requestCondition)` Create a new holder to wrap the given request condition.

Method Summary
`RequestConditionHolder` | `combine(RequestConditionHolder other)` Combine the request conditions held by the two RequestConditionHolder instances after making sure the conditions are of the same type.
`int` | `compareTo(RequestConditionHolder other, javax.servlet.http.HttpServletRequest request)` Compare the request conditions held by the two RequestConditionHolder instances after making sure the conditions are of the same type.
`RequestCondition<?>` | `getCondition()` Return the held request condition, or `null` if not holding one.
`protected java.util.Collection<?>` | `getContent()` Return the discrete items a request condition is composed of.
`RequestConditionHolder` | `getMatchingCondition(javax.servlet.http.HttpServletRequest request)` Get the matching condition for the held request condition wrap it in a new RequestConditionHolder instance.
`protected java.lang.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

### RequestConditionHolder

    public RequestConditionHolder(RequestCondition<?> requestCondition)

  Create a new holder to wrap the given request condition.

  Parameters:
    `requestCondition` - the condition to hold, may be `null`

Method Detail

### getCondition

    public RequestCondition<?> getCondition()

  Return the held request condition, or `null` if not holding one.

### getContent

    protected java.util.Collection<?> 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<RequestConditionHolder>`
  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<RequestConditionHolder>`

### combine

    public RequestConditionHolder combine(RequestConditionHolder other)

  Combine the request conditions held by the two RequestConditionHolder instances after making sure the conditions are of the same type. Or if one holder is empty, the other holder is returned.

  Parameters:
    `other` - the condition to combine with.
  Returns:
    a request condition instance that is the result of combining the two condition instances.

### getMatchingCondition

    public RequestConditionHolder getMatchingCondition(javax.servlet.http.HttpServletRequest request)

  Get the matching condition for the held request condition wrap it in a new RequestConditionHolder instance. Or otherwise if this is an empty holder, return the same holder instance.

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

### compareTo

    public int compareTo(RequestConditionHolder other,
                         javax.servlet.http.HttpServletRequest request)

  Compare the request conditions held by the two RequestConditionHolder instances after making sure the conditions are of the same type. Or if one holder is empty, the other holder is preferred.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD