org.springframework.web.reactive.result.condition

## Class RequestMethodsRequestCondition

- java.lang.Object
- - org.springframework.web.reactive.result.condition.AbstractRequestCondition<RequestMethodsRequestCondition>
  - - org.springframework.web.reactive.result.condition.RequestMethodsRequestCondition

All Implemented Interfaces:
  RequestCondition<RequestMethodsRequestCondition>

    public final class RequestMethodsRequestCondition
    extends AbstractRequestCondition<RequestMethodsRequestCondition>

A logical disjunction (' || ') request condition that matches a request against a set of `RequestMethods`.

Since:
  5.0
Author:
  Rossen Stoyanchev

### Constructor Summary

Constructors
Constructor and Description
`RequestMethodsRequestCondition(org.springframework.web.bind.annotation.RequestMethod... requestMethods)` Create a new instance with the given request methods.

### Method Summary

All Methods Instance Methods Concrete Methods
`RequestMethodsRequestCondition` `combine(RequestMethodsRequestCondition other)` Returns a new instance with a union of the HTTP request methods from "this" and the "other" instance.
`int` `compareTo(RequestMethodsRequestCondition other, org.springframework.web.server.ServerWebExchange exchange)` Returns: 0 if the two conditions contain the same number of HTTP request methods Less than 0 if "this" instance has an HTTP request method but "other" doesn't Greater than 0 "other" has an HTTP request method but "this" doesn't
`protected Collection<org.springframework.web.bind.annotation.RequestMethod>` `getContent()` Return the discrete items a request condition is composed of.
`RequestMethodsRequestCondition` `getMatchingCondition(org.springframework.web.server.ServerWebExchange exchange)` Check if any of the HTTP request methods match the given request and return an instance that contains the matching HTTP request method only.
`Set<org.springframework.web.bind.annotation.RequestMethod>` `getMethods()` Returns all `RequestMethods` contained in this condition.
`protected String` `getToStringInfix()` The notation to use when printing discrete items of content.

### Methods inherited from class org.springframework.web.reactive.result.condition.AbstractRequestCondition

`equals, hashCode, isEmpty, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### RequestMethodsRequestCondition

    public RequestMethodsRequestCondition(org.springframework.web.bind.annotation.RequestMethod... requestMethods)

Create a new instance with the given request methods.

Parameters:
  `requestMethods` - 0 or more HTTP request methods; if, 0 the condition will match to every request

### Method Detail

#### getMethods

    public Set<org.springframework.web.bind.annotation.RequestMethod> getMethods()

Returns all `RequestMethods` contained in this condition.

#### getContent

    protected Collection<org.springframework.web.bind.annotation.RequestMethod> 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<RequestMethodsRequestCondition>`
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<RequestMethodsRequestCondition>`

#### combine

    public RequestMethodsRequestCondition combine(RequestMethodsRequestCondition other)

Returns a new instance with a union of the HTTP request methods 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 RequestMethodsRequestCondition getMatchingCondition(org.springframework.web.server.ServerWebExchange exchange)

Check if any of the HTTP request methods match the given request and return an instance that contains the matching HTTP request method only.

Parameters:
  `exchange` - the current exchange
Returns:
  the same instance if the condition is empty (unless the request method is HTTP OPTIONS), a new condition with the matched request method, or `null` if there is no match or the condition is empty and the request method is OPTIONS.

#### compareTo

    public int compareTo(RequestMethodsRequestCondition other,
                         org.springframework.web.server.ServerWebExchange exchange)

Returns:

- 0 if the two conditions contain the same number of HTTP request methods
- Less than 0 if "this" instance has an HTTP request method but "other" doesn't
- Greater than 0 "other" has an HTTP request method but "this" doesn't

It is assumed that both instances have been obtained via `getMatchingCondition(ServerWebExchange)` and therefore each instance contains the matching HTTP request method only or is otherwise empty.