spring-framework / org.springframework.web.servlet.mvc.condition / CompositeRequestCondition

CompositeRequestCondition

open class CompositeRequestCondition : AbstractRequestCondition<CompositeRequestCondition>

Implements the RequestCondition contract by delegating to multiple RequestCondition types and using a logical conjunction (' && ') to ensure all conditions match a given request.

When CompositeRequestCondition instances are combined or compared they are expected to (a) contain the same number of conditions and (b) that conditions in the respective index are of the same type. It is acceptable to provide null conditions or no conditions at all to the constructor.

Author
Rossen Stoyanchev

Since
3.2

Constructors

<init>

CompositeRequestCondition(vararg requestConditions: RequestCondition<*>)

Create an instance with 0 or more RequestCondition types. It is important to create CompositeRequestCondition instances with the same number of conditions so they may be compared and combined. It is acceptable to provide null conditions.

Functions

combine

open fun combine(other: CompositeRequestCondition): CompositeRequestCondition

If one instance is empty, return the other. If both instances have conditions, combine the individual conditions after ensuring they are of the same type and number.

compareTo

open fun compareTo(other: CompositeRequestCondition, request: HttpServletRequest): Int

If one instance is empty, the other "wins". If both instances have conditions, compare them in the order in which they were provided.

getConditions

open fun getConditions(): MutableList<RequestCondition<*>>

Return the underlying conditions, possibly empty but never null.

getMatchingCondition

open fun getMatchingCondition(request: HttpServletRequest): CompositeRequestCondition

Delegate to all contained conditions to match the request and return the resulting "matching" condition instances.

An empty CompositeRequestCondition matches to all requests.

isEmpty

open fun isEmpty(): Boolean

Whether this instance contains 0 conditions or not.

Inherited Functions

equals

open fun equals(other: Any?): Boolean

hashCode

open fun hashCode(): Int

toString

open fun toString(): String