IfNot
Executes handlers conditionally when a condition evaluates to false.
Notes
A flow control wrapper that executes then handlers when the condition evaluates to false, and optional else handlers when the condition evaluates to true. This is the logical inverse of the If flow control wrapper.
Examples
Parses everything that is not HTML — the same routing as If, written from the other side.
- YAML
- JSON
- XML
handlers:
- ifNot:
condition:
class: TextCondition
fieldMatcher:
pattern: Content-Type
valueMatcher:
pattern: text/html
then:
- handler:
class: DefaultParser
{
"handlers": [
{
"ifNot": {
"condition": {
"class": "TextCondition",
"fieldMatcher": {
"pattern": "Content-Type"
},
"valueMatcher": {
"pattern": "text/html"
}
},
"then": [
{
"handler": {
"class": "DefaultParser"
}
}
]
}
}
]
}
<handlers>
<ifNot>
<condition class="TextCondition">
<fieldMatcher>Content-Type</fieldMatcher>
<valueMatcher>text/html</valueMatcher>
</condition>
<then>
<handler class="DefaultParser"/>
</then>
</ifNot>
</handlers>
Usage
Full configuration skeleton, with every option and its default
- YAML
- JSON
- XML
condition:
class: DateCondition
conditionZoneId: string
docZoneId: string
fieldMatcher:
ignoreCase: false
ignoreDiacritic: false
matchEmpty: false
method: BASIC
negateMatches: false
partial: false
pattern: string
replaceAll: false
trim: false
format: string
label: string
valueMatcher:
date: string
operator: gt
zoneId: string
valueMatcherRangeEnd:
date: string
operator: gt
zoneId: string
else: []
label: string
name: string
then: []
{
"condition": {
"class": "DateCondition",
"conditionZoneId": "string",
"docZoneId": "string",
"fieldMatcher": {
"ignoreCase": false,
"ignoreDiacritic": false,
"matchEmpty": false,
"method": "BASIC",
"negateMatches": false,
"partial": false,
"pattern": "string",
"replaceAll": false,
"trim": false
},
"format": "string",
"label": "string",
"valueMatcher": {
"date": "string",
"operator": "gt",
"zoneId": "string"
},
"valueMatcherRangeEnd": {
"date": "string",
"operator": "gt",
"zoneId": "string"
}
},
"else": [],
"label": "string",
"name": "string",
"then": []
}
<ifNot>
<condition>
<class>DateCondition</class>
<conditionZoneId>string</conditionZoneId>
<docZoneId>string</docZoneId>
<fieldMatcher/>
<format>string</format>
<label>string</label>
<valueMatcher/>
<valueMatcherRangeEnd/>
</condition>
<else>
<entry/>
</else>
<label>string</label>
<name>string</name>
<then>
<entry/>
</then>
</ifNot>
Properties
| Property | Type | Required | Default |
|---|---|---|---|
condition | Condition | No | - |
else | DocHandler[] | No | - |
label | string | No | - |
name | string | No | ifNot |
then | DocHandler[] | No | - |
Property Details
condition
The condition deciding which branch runs — inverted, so then executes when it evaluates to false. Any condition component, or an AllOf/AnyOf/NoneOf grouping of several.
else
The handler or list of handlers to apply when the condition evaluates to true. Optional.
label
An optional, user-supplied label for this step in the importer pipeline. It has no effect on processing — it exists purely to help identify this step, for example in large configurations or in the visual configurator.
name
The flow-control keyword identifying this step, ifNot. It is set for you; there is no reason to change it.
then
The handler or list of handlers to apply when the associated condition evaluates to true.