Package org.mockserver.model
Class ConditionalRequestDefinition
java.lang.Object
org.mockserver.model.ObjectWithReflectiveEqualsHashCodeToString
org.mockserver.model.ObjectWithJsonToString
org.mockserver.model.Not
org.mockserver.model.RequestDefinition
org.mockserver.model.ConditionalRequestDefinition
A conditional (if-then-else) request matcher.
Unlike the default AND-only matching (where every field of a single
HttpRequest must match), a conditional matcher evaluates one of two
branches depending on whether a guard request definition matches:
if (ifMatches.matches(request)) {
require thenMatches.matches(request)
} else {
require elseMatches.matches(request) // when elseMatches is absent the
// expectation matches whenever the
// guard is false
}
Each branch reuses the existing RequestDefinition matching machinery,
so any request definition (an HttpRequest, an
OpenAPIDefinition, even a nested ConditionalRequestDefinition)
may be used as the if, then or else branch.
This construct is entirely additive and opt-in: existing AND-only expectations are unchanged.
- Author:
- jamesdbloom
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleangetElse()getIf()getThen()inthashCode()static ConditionalRequestDefinitionrequestIf(RequestDefinition ifMatches) static ConditionalRequestDefinitionrequestIf(RequestDefinition ifMatches, RequestDefinition thenMatches) static ConditionalRequestDefinitionrequestIf(RequestDefinition ifMatches, RequestDefinition thenMatches, RequestDefinition elseMatches) withElse(RequestDefinition elseMatches) withIf(RequestDefinition ifMatches) withThen(RequestDefinition thenMatches) Methods inherited from class org.mockserver.model.RequestDefinition
cloneWithLogCorrelationId, getLogCorrelationId, getReceivedTimestamp, withLogCorrelationId, withReceivedTimestampMethods inherited from class org.mockserver.model.ObjectWithJsonToString
toStringMethods inherited from class org.mockserver.model.ObjectWithReflectiveEqualsHashCodeToString
fieldsExcludedFromEqualsAndHashCode
-
Constructor Details
-
ConditionalRequestDefinition
public ConditionalRequestDefinition()
-
-
Method Details
-
requestIf
-
requestIf
public static ConditionalRequestDefinition requestIf(RequestDefinition ifMatches, RequestDefinition thenMatches) -
requestIf
public static ConditionalRequestDefinition requestIf(RequestDefinition ifMatches, RequestDefinition thenMatches, RequestDefinition elseMatches) -
getIf
-
withIf
-
getThen
-
withThen
-
getElse
-
withElse
-
shallowClone
- Specified by:
shallowClonein classRequestDefinition
-
equals
- Overrides:
equalsin classRequestDefinition
-
hashCode
public int hashCode()- Overrides:
hashCodein classRequestDefinition
-