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(RequestMethod... requestMethods)` Create a new instance with the given request methods.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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, 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<RequestMethod>` | `getContent()` Return the discrete items a request condition is composed of.
    `RequestMethodsRequestCondition` | `getMatchingCondition(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<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(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<RequestMethod> getMethods()

      Returns all `RequestMethods` contained in this condition.

    - #### getContent

          protected Collection<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(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,
                               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.