package combinators
Aggregates all implemented combinators for use by the DSL. Can, though not intended to, be used directly by end-user code.
- Alphabetic
- By Inheritance
- combinators
- BooleanCombinators
- OrderingCombinators
- StringCombinators
- CollectionCombinators
- GeneralPurposeCombinators
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
BooleanCombinators extends AnyRef
Simple boolean combinators.
-
class
IsFalse extends BaseValidator[Boolean]
A boolean validator that matches only on false.
A boolean validator that matches only on false.
- Definition Classes
- BooleanCombinators
-
class
IsTrue extends BaseValidator[Boolean]
A boolean validator that matches only on true.
A boolean validator that matches only on true.
- Definition Classes
- BooleanCombinators
-
trait
CollectionCombinators extends AnyRef
Combinators that operate on collections and collection-like structures.
-
class
Empty[T <: AnyRef] extends NullSafeValidator[T]
A validator that operates on objects that can be empty, and succeeds only if the provided instance is empty.
A validator that operates on objects that can be empty, and succeeds only if the provided instance is empty.
- T
A type that implements
isEmpty: Boolean
(see com.wix.accord.combinators.HasEmpty).
- Definition Classes
- CollectionCombinators
- See also
-
case class
In[T](set: Set[T], prefix: String) extends BaseValidator[T] with Product with Serializable
A validator that succeeds only if the object exists in the target collection.
A validator that succeeds only if the object exists in the target collection.
- Definition Classes
- CollectionCombinators
-
class
NotEmpty[T <: AnyRef] extends NullSafeValidator[T]
A validator that operates on objects that can be empty, and succeeds only if the provided instance is not empty.
A validator that operates on objects that can be empty, and succeeds only if the provided instance is not empty.
- T
A type that implements
isEmpty: Boolean
(see com.wix.accord.combinators.HasEmpty).
- Definition Classes
- CollectionCombinators
- See also
-
trait
GeneralPurposeCombinators extends AnyRef
Non type-specific combinators.
-
class
AnInstanceOf[T <: AnyRef] extends NullSafeValidator[AnyRef]
A validator that succeeds only if the validated object is an instance of the specified type.
A validator that succeeds only if the validated object is an instance of the specified type. Respects nulls.
- T
The desired type for objects under validation.
- Definition Classes
- GeneralPurposeCombinators
-
class
And[T] extends Validator[T]
A combinator that takes a chain of predicates and implements logical AND between them.
A combinator that takes a chain of predicates and implements logical AND between them.
- T
The type on which this validator operates.
- Definition Classes
- GeneralPurposeCombinators
-
class
Conditional[T] extends Validator[T]
A validator that branches at runtime based on the value of the object under validation.
A validator that branches at runtime based on the value of the object under validation. Supports an optional fallback validator.
- T
The object type this validator operates on.
- Definition Classes
- GeneralPurposeCombinators
-
class
EqualTo[T] extends Validator[T]
A validator that succeeds only if the validated object is equal to the specified value.
A validator that succeeds only if the validated object is equal to the specified value. Respects nulls and delegates equality checks to java.lang.Object.equals.
- Definition Classes
- GeneralPurposeCombinators
-
class
Fail[T] extends Validator[T]
A validator that always fails with a specific violation.
A validator that always fails with a specific violation.
- T
The type on which this validator operates.
- Definition Classes
- GeneralPurposeCombinators
-
class
IsNotNull extends BaseValidator[AnyRef]
A validator that succeeds only if the provided object is not
null
.A validator that succeeds only if the provided object is not
null
.- Definition Classes
- GeneralPurposeCombinators
-
class
IsNull extends BaseValidator[AnyRef]
A validator that succeeds only if the provided object is
null
.A validator that succeeds only if the provided object is
null
.- Definition Classes
- GeneralPurposeCombinators
-
class
NilValidator[T] extends Validator[T]
A validator that always succeeds.
A validator that always succeeds.
- T
The type on which this validator operates.
- Definition Classes
- GeneralPurposeCombinators
-
class
NotAnInstanceOf[T <: AnyRef] extends NullSafeValidator[AnyRef]
A validator that fails only if the validated object is an instance of the specified type.
A validator that fails only if the validated object is an instance of the specified type. Respects nulls.
- T
The undesirable type for objects under validation.
- Definition Classes
- GeneralPurposeCombinators
-
class
NotEqualTo[T] extends Validator[T]
A validator that succeeds only if the validated object is not equal to the specified value.
A validator that succeeds only if the validated object is not equal to the specified value. Respects nulls and delegates equality checks to java.lang.Object.equals.
- Definition Classes
- GeneralPurposeCombinators
-
class
Or[T] extends Validator[T]
A combinator that takes a chain of predicates and implements logical OR between them.
A combinator that takes a chain of predicates and implements logical OR between them. When all predicates fail, a com.wix.accord.GroupViolation is produced; the predicates comprise the group's children.
- T
The type on which this validator operates.
- Definition Classes
- GeneralPurposeCombinators
-
class
Valid[T] extends Validator[T]
A validator which merely delegates to another, implicitly available validator.
A validator which merely delegates to another, implicitly available validator. This is necessary for the description generation to work correctly, e.g. in the case where:
case class Person( firstName: String, lastName: String ) case class Classroom( teacher: Person, students: Seq[ Person ] )
implicit val personValidator = validator[ Person ] { p => p.firstName is notEmpty p.lastName is notEmpty }
implicit val classValidator = validator[ Classroom ] { c => c.teacher is valid c.students.each is valid c.students have size > 0 }
c.teacher
actually delegates to thepersonValidator
, which means a correct error message would be a com.wix.accord.GroupViolation aggregating the actual rule violations.- T
The object type this validator operates on. An implicit com.wix.accord.Validator over type
T
must be in scope.
- Definition Classes
- GeneralPurposeCombinators
-
type
HasEmpty = AnyRef { def isEmpty: Boolean }
A structural type representing any object that can be empty.
A structural type representing any object that can be empty.
- Definition Classes
- CollectionCombinators
-
trait
OrderingCombinators extends AnyRef
Provides combinators over objects implementing scala.math.Ordering.
Provides combinators over objects implementing scala.math.Ordering.
Implementation note: All methods here should only require scala.math.PartialOrdering, but then the default implicits are defined in the scala.math.Ordering companion and would therefore not be imported by default at the call site.
-
case class
EquivalentTo[T](other: T, prefix: String)(implicit ordering: Ordering[T], nullability: Nullability[T]) extends MaybeNullSafeValidator[T] with Product with Serializable
A validator that succeeds only for value equivalent (as determined by scala.math.Ordering.equiv) to the specified bound.
A validator that succeeds only for value equivalent (as determined by scala.math.Ordering.equiv) to the specified bound.
- T
The object type this validator operates on.
- other
The fixed value against which values are validated.
- prefix
A prefix for violation messages; for example, specifying
"got"
will result in a constraint violation like "got 10, expected 5".- ordering
Evidence that
T
is ordered (i.e. a scala.math.Ordering ofT
is available).
- Definition Classes
- OrderingCombinators
-
case class
GreaterThan[T](bound: T, prefix: String)(implicit ordering: Ordering[T], nullability: Nullability[T]) extends MaybeNullSafeValidator[T] with Product with Serializable
A validator that succeeds only for values greater than the specified bound.
A validator that succeeds only for values greater than the specified bound.
- T
The object type this validator operates on.
- bound
The bound against which values are validated.
- prefix
A prefix for violation messages; for example, specifying
"got"
will result in a constraint violation like "got 5, expected more than 10".- ordering
Evidence that
T
is ordered (i.e. a scala.math.Ordering ofT
is available).
- Definition Classes
- OrderingCombinators
-
case class
GreaterThanOrEqual[T](bound: T, prefix: String)(implicit ordering: Ordering[T], nullability: Nullability[T]) extends MaybeNullSafeValidator[T] with Product with Serializable
A validator that succeeds only for values greater than, or equal to, the specified bound.
A validator that succeeds only for values greater than, or equal to, the specified bound.
- T
The object type this validator operates on.
- bound
The bound against which values are validated.
- prefix
A prefix for violation messages; for example, specifying
"got"
will result in a constraint violation like "got 5, expected 10 or more".- ordering
Evidence that
T
is ordered (i.e. a scala.math.Ordering ofT
is available).
- Definition Classes
- OrderingCombinators
-
sealed
trait
InRange[T] extends Validator[T]
A base trait for a validator that succeeds only for values between the specified bounds, and may be inclusive or exclusive.
A base trait for a validator that succeeds only for values between the specified bounds, and may be inclusive or exclusive.
- T
The object type this validator operates on.
- Definition Classes
- OrderingCombinators
-
case class
InRangeExclusive[T](lowerBound: T, upperBound: T, prefix: String)(implicit ordering: Ordering[T], nullability: Nullability[T]) extends MaybeNullSafeValidator[T] with InRange[T] with Product with Serializable
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 (exclusive of the upper bound). The com.wix.accord.combinators.OrderingCombinators.InRange.inclusive method can be used to derive a validator that includes the upper bound.
- T
The object type this validator operates on.
- lowerBound
The lower bound against which values are validated.
- upperBound
The lower bound against which values are validated.
- prefix
A prefix for violation messages; for example, specifying
"got"
will result in a constraint violation like "got 10, expected between 5 and 7 (exclusively)".- ordering
Evidence that
T
is ordered (i.e. a scala.math.Ordering ofT
is available).
- Definition Classes
- OrderingCombinators
-
case class
InRangeInclusive[T](lowerBound: T, upperBound: T, prefix: String)(implicit ordering: Ordering[T], nullability: Nullability[T]) extends MaybeNullSafeValidator[T] with InRange[T] with Product with Serializable
A validator that succeeds only for values between the specified bounds (both bounds are inclusive).
A validator that succeeds only for values between the specified bounds (both bounds are inclusive). The com.wix.accord.combinators.OrderingCombinators.InRange.exclusive method can be used to derive a validator that excludes the upper bound.
- T
The object type this validator operates on.
- lowerBound
The lower bound against which values are validated.
- upperBound
The lower bound against which values are validated.
- prefix
A prefix for violation messages; for example, specifying
"got"
will result in a constraint violation like "got 10, expected between 5 and 7".- ordering
Evidence that
T
is ordered (i.e. a scala.math.Ordering ofT
is available).
- Definition Classes
- OrderingCombinators
-
case class
LesserThan[T](bound: T, prefix: String)(implicit ordering: Ordering[T], nullability: Nullability[T]) extends MaybeNullSafeValidator[T] with Product with Serializable
A validator that succeeds only for values lesser than the specified bound.
A validator that succeeds only for values lesser than the specified bound.
- T
The object type this validator operates on.
- bound
The bound against which values are validated.
- prefix
A prefix for violation messages; for example, specifying
"got"
will result in a constraint violation like "got 10, expected less than 10".- ordering
Evidence that
T
is ordered (i.e. a scala.math.Ordering ofT
is available).
- Definition Classes
- OrderingCombinators
-
case class
LesserThanOrEqual[T](bound: T, prefix: String)(implicit ordering: Ordering[T], nullability: Nullability[T]) extends MaybeNullSafeValidator[T] with Product with Serializable
A validator that succeeds only for values less than, or equal to, the specified bound.
A validator that succeeds only for values less than, or equal to, the specified bound.
- T
The object type this validator operates on.
- bound
The bound against which values are validated.
- prefix
A prefix for violation messages; for example, specifying
"got"
will result in a constraint violation like "got 10, expected 5 or less".- ordering
Evidence that
T
is ordered (i.e. a scala.math.Ordering ofT
is available).
- Definition Classes
- OrderingCombinators
-
trait
StringCombinators extends AnyRef
Combinators that operate specifically on strings.
-
class
Blank extends NullSafeValidator[String]
A validator that succeeds only if the provided string is blank (i.e.
A validator that succeeds only if the provided string is blank (i.e. empty or whitespace-only). Note that java.lang.String.trim is used to eliminate whitespace.
- Definition Classes
- StringCombinators
-
class
EndsWith extends NullSafeValidator[String]
A validator that succeeds only if the provided string starts with the specified suffix.
A validator that succeeds only if the provided string starts with the specified suffix.
- Definition Classes
- StringCombinators
-
class
MatchesRegex extends NullSafeValidator[String]
A validator that succeeds only if the provided string matches the specified pattern.
A validator that succeeds only if the provided string matches the specified pattern.
- Definition Classes
- StringCombinators
-
class
NotBlank extends NullSafeValidator[String]
A validator that succeeds only if the provided string is not blank (i.e.
A validator that succeeds only if the provided string is not blank (i.e. empty or whitespace-only). Note that java.lang.String.trim is used to eliminate whitespace.
- Definition Classes
- StringCombinators
-
class
StartsWith extends NullSafeValidator[String]
A validator that succeeds only if the provided string starts with the specified prefix.
A validator that succeeds only if the provided string starts with the specified prefix.
- Definition Classes
- StringCombinators
Value Members
-
implicit
def
genericTraversableOnce2HasEmpty[T](gto: T)(implicit ev: (T) ⇒ GenTraversableOnce[_]): HasEmpty
An implicit conversion to enable any collection-like object (e.g.
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 fromT
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 fromT
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.- T
The type that conforms, directly or implicitly, to com.wix.accord.combinators.HasEmpty.
- gto
An object that is, or is implicitly convertible to, scala.collection.GenTraversableOnce.
- returns
The specified object, strictly-typed as com.wix.accord.combinators.HasEmpty.
- Definition Classes
- CollectionCombinators
-
object
Distinct extends Validator[Traversable[_]]
A validator that succeeds only if the provided collection has no duplicate elements.
A validator that succeeds only if the provided collection has no duplicate elements.
- Definition Classes
- CollectionCombinators