Interface RequestCondition<T>
- Type Parameters:
T- the type of objects that this RequestCondition can be combined with and compared to
- All Known Implementing Classes:
AbstractRequestCondition,CompositeRequestCondition,ConsumesRequestCondition,HeadersRequestCondition,ParamsRequestCondition,PatternsRequestCondition,ProducesRequestCondition,RequestConditionHolder,RequestMappingInfo,RequestMethodsRequestCondition
public interface RequestCondition<T>
Contract for request mapping conditions.Request conditions can be combined via
combine(Object), matched to a request viagetMatchingCondition(HttpServletRequest), and compared to each other viacompareTo(Object, HttpServletRequest)to determine which is a closer match for a given request.- Since:
- 3.1
- Author:
- Rossen Stoyanchev, Arjen Poutsma
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Tcombine(T other)Combine this condition with another such as conditions from a type-level and method-level@RequestMappingannotation.intcompareTo(T other, HttpServletRequest request)Compare this condition to another condition in the context of a specific request.TgetMatchingCondition(HttpServletRequest request)Check if the condition matches the request returning a potentially new instance created for the current request.
Method Detail
combine
T combine(T other)
Combine this condition with another such as conditions from a type-level and method-level@RequestMappingannotation.- Parameters:
other- the condition to combine with.- Returns:
- a request condition instance that is the result of combining the two condition instances.
getMatchingCondition
T getMatchingCondition(HttpServletRequest request)
Check if the condition matches the request returning a potentially new instance created for the current request. For example a condition with multiple URL patterns may return a new instance only with those patterns that match the request.For CORS pre-flight requests, conditions should match to the would-be, actual request (e.g. URL pattern, query parameters, and the HTTP method from the "Access-Control-Request-Method" header). If a condition cannot be matched to a pre-flight request it should return an instance with empty content thus not causing a failure to match.
- Returns:
- a condition instance in case of a match or
nullotherwise.
compareTo
int compareTo(T other, HttpServletRequest request)
Compare this condition to another condition in the context of a specific request. This method assumes both instances have been obtained viagetMatchingCondition(HttpServletRequest)to ensure they have content relevant to current request only.