com.wix.accord

combinators

package combinators

Aggregates all implemented combinators for use by the DSL. Can, though not intended to, be used directly by end-user code.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. combinators
  2. BooleanCombinators
  3. OrderingCombinators
  4. StringCombinators
  5. CollectionCombinators
  6. GeneralPurposeCombinators
  7. AnyRef
  8. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. 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
  2. trait BooleanCombinators extends AnyRef

    Simple boolean combinators.

  3. trait CollectionCombinators extends AnyRef

    Combinators that operate on collections and collection-like structures.

  4. 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

    com.wix.accord.combinators.NotEmpty

  5. 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
  6. 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
  7. case class EquivalentTo[T](other: T, prefix: String)(implicit ev: Ordering[T]) extends BaseValidator[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".

    ev

    Evidence that T is ordered (i.e. a scala.math.Ordering of T is available).

    Definition Classes
    OrderingCombinators
  8. 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
  9. trait GeneralPurposeCombinators extends AnyRef

    Non type-specific combinators.

  10. case class GreaterThan[T](bound: T, prefix: String)(implicit ev: Ordering[T]) extends BaseValidator[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".

    ev

    Evidence that T is ordered (i.e. a scala.math.Ordering of T is available).

    Definition Classes
    OrderingCombinators
  11. case class GreaterThanOrEqual[T](bound: T, prefix: String)(implicit ev: Ordering[T]) extends BaseValidator[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".

    ev

    Evidence that T is ordered (i.e. a scala.math.Ordering of T is available).

    Definition Classes
    OrderingCombinators
  12. 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
  13. 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
  14. case class InRangeExclusive[T](lowerBound: T, upperBound: T, prefix: String)(implicit ev: Ordering[T]) extends BaseValidator[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)".

    ev

    Evidence that T is ordered (i.e. a scala.math.Ordering of T is available).

    Definition Classes
    OrderingCombinators
  15. case class InRangeInclusive[T](lowerBound: T, upperBound: T, prefix: String)(implicit ev: Ordering[T]) extends BaseValidator[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".

    ev

    Evidence that T is ordered (i.e. a scala.math.Ordering of T is available).

    Definition Classes
    OrderingCombinators
  16. class IsFalse extends BaseValidator[Boolean]

    A boolean validator that matches only on false.

    A boolean validator that matches only on false.

    Definition Classes
    BooleanCombinators
  17. 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
  18. 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
  19. class IsTrue extends BaseValidator[Boolean]

    A boolean validator that matches only on true.

    A boolean validator that matches only on true.

    Definition Classes
    BooleanCombinators
  20. case class LesserThan[T](bound: T, prefix: String)(implicit ev: Ordering[T]) extends BaseValidator[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".

    ev

    Evidence that T is ordered (i.e. a scala.math.Ordering of T is available).

    Definition Classes
    OrderingCombinators
  21. case class LesserThanOrEqual[T](bound: T, prefix: String)(implicit ev: Ordering[T]) extends BaseValidator[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".

    ev

    Evidence that T is ordered (i.e. a scala.math.Ordering of T is available).

    Definition Classes
    OrderingCombinators
  22. 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
  23. 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
  24. 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

    com.wix.accord.combinators.Empty

  25. 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
  26. 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
  27. 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.

  28. 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
  29. trait StringCombinators extends AnyRef

    Combinators that operate specifically on strings.

  30. 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 the personValidator, 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

Value Members

  1. implicit def genericTraversableOnce2HasEmpty[T](gto: T)(implicit arg0: (T) ⇒ GenTraversableOnce[_]): HasEmpty

    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.

    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

Inherited from BooleanCombinators

Inherited from OrderingCombinators

Inherited from StringCombinators

Inherited from CollectionCombinators

Inherited from GeneralPurposeCombinators

Inherited from AnyRef

Inherited from Any

Ungrouped