Interface MessageCondition<T>
- Type Parameters:
T
- the kind of condition that this condition can be combined with or compared to
- All Known Implementing Classes:
AbstractMessageCondition
,CompositeMessageCondition
,DestinationPatternsMessageCondition
,RSocketFrameTypeMessageCondition
,SimpMessageMappingInfo
,SimpMessageTypeMessageCondition
public interface MessageCondition<T>
Contract for mapping conditions to messages.
Message conditions can be combined (e.g. type + method-level conditions), matched to a specific Message, as well as compared to each other in the context of a Message to determine which one matches a request more closely.
- Since:
- 4.0
- Author:
- Rossen Stoyanchev
-
Method Summary
Modifier and TypeMethodDescriptionDefine the rules for combining this condition with another.int
Compare this condition to another in the context of a specific message.getMatchingCondition
(Message<?> message) Check if this condition matches the given Message and returns a potentially new condition with content tailored to the current message.
-
Method Details
-
combine
Define the rules for combining this condition with another. For example combining type- and method-level conditions.- Parameters:
other
- the condition to combine with- Returns:
- the resulting message condition
-
getMatchingCondition
Check if this condition matches the given Message and returns a potentially new condition with content tailored to the current message. For example a condition with destination patterns might return a new condition with sorted, matching patterns only.- Returns:
- a condition instance in case of a match; or
null
if there is no match.
-
compareTo
Compare this condition to another in the context of a specific message. It is assumed both instances have been obtained viagetMatchingCondition(Message)
to ensure they have content relevant to current message only.
-