A validator that succeeds only if the validated object is an instance of the specified type.
A combinator that takes a chain of predicates and implements logical AND between them.
Simple boolean combinators.
Combinators that operate on collections and collection-like structures.
A validator that branches at runtime based on the value of the object under validation.
A validator that operates on objects that can be empty, and succeeds only if the provided instance is empty.
A validator that succeeds only if the provided string starts with the specified suffix.
A validator that succeeds only if the validated object is equal to the specified value.
A validator that succeeds only for value equivalent (as determined by scala.math.Ordering.equiv) to the specified bound.
A validator that always fails with a specific violation.
Non type-specific combinators.
A validator that succeeds only for values greater than the specified bound.
A validator that succeeds only for values greater than, or equal to, the specified bound.
A structural type representing any object that can be empty.
A structural type representing any object that can be empty.
A validator that succeeds only if the object exists in the target collection.
A base trait for a validator that succeeds only for values between the specified bounds, and may be inclusive or exclusive.
A validator that succeeds only for values between the specified bounds (exclusive of the upper bound).
A validator that succeeds only for values between the specified bounds (both bounds are inclusive).
A boolean validator that matches only on false.
A validator that succeeds only if the provided object is not null
.
A validator that succeeds only if the provided object is null
.
A boolean validator that matches only on true.
A validator that succeeds only for values lesser than the specified bound.
A validator that succeeds only for values less than, or equal to, the specified bound.
A validator that succeeds only if the provided string matches the specified pattern.
A validator that always succeeds.
A validator that fails only if the validated object is an instance of the specified type.
A validator that operates on objects that can be empty, and succeeds only if the provided instance is not empty.
A validator that succeeds only if the validated object is not equal to the specified value.
A combinator that takes a chain of predicates and implements logical OR between them.
Provides combinators over objects implementing scala.math.Ordering.
A validator that succeeds only if the provided string starts with the specified prefix.
Combinators that operate specifically on strings.
A validator which merely delegates to another, implicitly available validator.
A validator that succeeds only if the provided collection has no duplicate elements.
An implicit conversion to enable any collection-like object (e.
An implicit conversion to enable any collection-like object (e.g. strings, options) to be handled by the com.wix.accord.combinators.CollectionCombinators.Empty and com.wix.accord.combinators.CollectionCombinators.NotEmpty combinators.
java.lang.String does not directly implement isEmpty
(in practice it is implemented in
scala.collection.IndexedSeqOptimized, via an implicit conversion and an inheritance stack), and this is
a case where the Scala compiler does not always infer structural types correctly. By requiring
a view bound from T
to scala.collection.GenTraversableOnce we can force any collection-like structure
to conform to the structural type com.wix.accord.combinators.HasEmpty, and by requiring
a view bound from T
to com.wix.accord.combinators.HasEmpty at the call site (e.g.
com.wix.accord.dsl.empty) we additionally support any class that directly conforms to the
structural type as well.
The type that conforms, directly or implicitly, to com.wix.accord.combinators.HasEmpty.
An object that is, or is implicitly convertible to, scala.collection.GenTraversableOnce.
The specified object, strictly-typed as com.wix.accord.combinators.HasEmpty.
Aggregates all implemented combinators for use by the DSL. Can, though not intended to, be used directly by end-user code.