Denotes an indirection chain.
Denotes an indirection chain. For example, the expression field.subfield.subsubfield
would result in
a description like AccessChain( Generic( "field" ), Generic( "subfield" ), Generic( "subsubfield" ) )
.
Denotes that the desirable validation strategy depends on a runtime condition.
Denotes that the desirable validation strategy depends on a runtime condition. For example, the following expression:
person.age match { case age if age < 18 => person.guardian is notEmpty case age if age >= 18 => person.residencyAddress is notEmpty }
May evaluate to either of the following descriptions: - Conditional( on = AccessChain( "age" ), value = -5, guard = Some( Generic( "age < 18" ) ), target = AccessChain( "guardian" ) ) - Conditional( on = AccessChain( "age" ), value = 55, guard = Some( Generic( "age >= 18" ) ), target = AccessChain( "residencyAddress" ) )
A description of the property on which validation branches, or Generic( "Branch" )
if not applicable.
The runtime value of the condition for the matching case.
An optional description of the guard specified for the matching case.
The description of the validation target for the matching case.
Root trait whose various cases describe a single Object Under Validation (OUV).
Denotes an explicit textual description, typically provided via the DSL as
keyword.
Denotes a generic textual description, typically a piece of code, where a better description could not be generated (for example: the field name as part of an com.wix.accord.Descriptions.AccessChain).
Denotes an index access (e.
Denotes an index access (e.g. accessing the nth element of an array).
An empty (i.
An empty (i.e. unknown) description. This is the default state of any violation prior to applying additional information via com.wix.accord.Descriptions.combine.
Denotes a self-reference (i.
Denotes a self-reference (i.e. using a single positional wildcard in a lambda).