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 ConsumesRequestCondition

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

All Implemented Interfaces:
  RequestCondition<ConsumesRequestCondition>

    public final class ConsumesRequestCondition

extends AbstractRequestCondition<ConsumesRequestCondition>

A logical disjunction (' || ') request condition to match a request's 'Content-Type' header to a list of media type expressions. Two kinds of media type expressions are supported, which are described in `RequestMapping.consumes()` and `RequestMapping.headers()` where the header name is 'Content-Type'. Regardless of which syntax is used, the semantics are the same.

Since:
  3.1
Author:
  Arjen Poutsma, Rossen Stoyanchev

Constructor Summary
`ConsumesRequestCondition(java.lang.String... consumes)` Creates a new instance from 0 or more "consumes" expressions.
`ConsumesRequestCondition(java.lang.String[] consumes, java.lang.String[] headers)` Creates a new instance with "consumes" and "header" expressions.

Method Summary
`ConsumesRequestCondition` | `combine(ConsumesRequestCondition other)` Returns the "other" instance if it has any expressions; returns "this" instance otherwise.
`int` | `compareTo(ConsumesRequestCondition other, javax.servlet.http.HttpServletRequest request)` Returns: 0 if the two conditions have the same number of expressions Less than 0 if "this" has more or more specific media type expressions Greater than 0 if "other" has more or more specific media type expressions
`java.util.Set<MediaType>` | `getConsumableMediaTypes()` Returns the media types for this condition excluding negated expressions.
`protected java.util.Collection<org.springframework.web.servlet.mvc.condition.ConsumesRequestCondition.ConsumeMediaTypeExpression>` | `getContent()` Return the discrete items a request condition is composed of.
`java.util.Set<MediaTypeExpression>` | `getExpressions()` Return the contained MediaType expressions.
`ConsumesRequestCondition` | `getMatchingCondition(javax.servlet.http.HttpServletRequest request)` Checks if any of the contained media type expressions match the given request 'Content-Type' header and returns an instance that is guaranteed to contain matching expressions only.
`protected java.lang.String` | `getToStringInfix()` The notation to use when printing discrete items of content.
`boolean` | `isEmpty()` Whether the condition has any media type expressions.

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

### ConsumesRequestCondition

    public ConsumesRequestCondition(java.lang.String... consumes)

  Creates a new instance from 0 or more "consumes" expressions.

  Parameters:
    `consumes` - expressions with the syntax described in `RequestMapping.consumes()`; if 0 expressions are provided, the condition will match to every request.

### ConsumesRequestCondition

    public ConsumesRequestCondition(java.lang.String[] consumes,
                                    java.lang.String[] headers)

  Creates a new instance with "consumes" and "header" expressions. "Header" expressions where the header name is not 'Content-Type' or have no header value defined are ignored. If 0 expressions are provided in total, the condition will match to every request

  Parameters:
    `consumes` - as described in `RequestMapping.consumes()`
    `headers` - as described in `RequestMapping.headers()`

Method Detail

### getExpressions

    public java.util.Set<MediaTypeExpression> getExpressions()

  Return the contained MediaType expressions.

### getConsumableMediaTypes

    public java.util.Set<MediaType> getConsumableMediaTypes()

  Returns the media types for this condition excluding negated expressions.

### isEmpty

    public boolean isEmpty()

  Whether the condition has any media type expressions.

### getContent

    protected java.util.Collection<org.springframework.web.servlet.mvc.condition.ConsumesRequestCondition.ConsumeMediaTypeExpression> 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<ConsumesRequestCondition>`
  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<ConsumesRequestCondition>`

### combine

    public ConsumesRequestCondition combine(ConsumesRequestCondition other)

  Returns the "other" instance if it has any expressions; returns "this" instance otherwise. Practically that means a method-level "consumes" overrides a type-level "consumes" condition.

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

### getMatchingCondition

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

  Checks if any of the contained media type expressions match the given request 'Content-Type' header and returns an instance that is guaranteed to contain matching expressions only. The match is performed via `MediaType.includes(MediaType)`.

  Parameters:
    `request` - the current request
  Returns:
    the same instance if the condition contains no expressions; or a new condition with matching expressions only; or `null` if no expressions match.

### compareTo

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

  Returns:
  - 0 if the two conditions have the same number of expressions
  - Less than 0 if "this" has more or more specific media type expressions
  - Greater than 0 if "other" has more or more specific media type expressions

  It is assumed that both instances have been obtained via `getMatchingCondition(HttpServletRequest)` and each instance contains the matching consumable media type expression only or is otherwise empty.

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