LongTemplate

io.github.cakelier.tuples.space.dsl.numeric.LongTemplate$

The object implementing the IntegralTemplate trait for the long type.

This object represents the specific implementation of the family of traits defined by the IntegralTemplate one. It then implements them all specifying that the generic numeric type that is specified in all of them is the Int one.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

class CompleteLongTemplate(min: Either[Long, Long], max: Either[Long, Long], multipleOf: Long) extends CompleteIntegralTemplate[Long]

The "terminal" long template, for which no more information can be specified for building a JsonIntTemplate.

The "terminal" long template, for which no more information can be specified for building a JsonIntTemplate.

This template represents the last stage in building an long template, meaning that no more constraints can be specified. The range for the value has already been specified as a minimum and maximum allowed values, either inclusive or exclusive, so as the number which it should be a multiple of.

Attributes

Constructor

creates a new instance of this class specifying the minimum and the maximum values, being scala.util.Lefts if they are inclusive, or scala.util.Rights if they are exclusive, and the "multiple of" value

Supertypes
trait Template
class Object
trait Matchable
class Any

The "empty" long template, capable of matching any value of the long type.

The "empty" long template, capable of matching any value of the long type.

This is the starting template from which creating any other long template by specifying more and more constraints. Being so, it is allowed to add a minimum value, either inclusive or exclusive, or a maximum value, either inclusive or exclusive, to create a new template from this. It is also allowed to specify a number of which the matched long should be multiple of for creating a new template.

Attributes

Supertypes

The integral template for which the maximum value, either inclusive or exclusive, has been specified along with the "multipleOf" value.

The integral template for which the maximum value, either inclusive or exclusive, has been specified along with the "multipleOf" value.

This template represents one for integral values where the maximum constraint, whether it be an inclusive or exclusive one, have been specified alongside a "multiple of" constraint. Now, a minimum constraint can be specified, allowing to close the half-open interval previously created. This constraints is not mandatory to apply. This will produce a "complete" template for which no more constraints can be specified.

Attributes

Constructor

creates a new instance of this class specifying the maximum value, being a scala.util.Left if it inclusive, or a scala.util.Right if it is exclusive, and the "multiple of" value

Supertypes
trait Template
class Object
trait Matchable
class Any

The long template for which the maximum value, either inclusive or exclusive, has been specified.

The long template for which the maximum value, either inclusive or exclusive, has been specified.

This template represents one for long values where the maximum constraint, whether it be an inclusive or exclusive one, has been specified. Now, a minimum constraint can be specified, closing the now half-open interval, or a "multiple of" constraint can be specified, allowing to match only the values which are multiple of this number. Neither of this constraints are mandatory to apply. This will produce a template for which either the minimum and the maximum values have been specified, or the maximum and the "multiple of" values have been specified.

Attributes

Constructor

creates a new instance of this class specifying the maximum value, being a scala.util.Left if it inclusive, or a scala.util.Right if it is exclusive

Supertypes

The long template for which the minimum and the maximum values, either inclusive or exclusive, have been specified.

The long template for which the minimum and the maximum values, either inclusive or exclusive, have been specified.

This template represents one for long values where the minimum and the maximum constraints, whether they are inclusive or exclusive, have been specified. Now, a "multiple of" constraint can be specified, allowing to match only the values which are multiple of this number. This constraints is not mandatory to apply. This will produce a "complete" template for which no more constraints can be specified.

Attributes

Constructor

creates a new instance of this class specifying the minimum and the maximum values, being scala.util.Lefts if they are inclusive, or scala.util.Rights if they are exclusive

Supertypes
trait Template
class Object
trait Matchable
class Any

The long template for which the minimum value, either inclusive or exclusive, has been specified along with the "multipleOf" value.

The long template for which the minimum value, either inclusive or exclusive, has been specified along with the "multipleOf" value.

This template represents one for long values where the minimum constraint, whether it be an inclusive or exclusive one, have been specified alongside a "multiple of" constraint. Now, a maximum constraint can be specified, allowing to close the half-open interval previously created. This constraints is not mandatory to apply. This will produce a "complete" template for which no more constraints can be specified.

Attributes

Constructor

creates a new instance of this class specifying the minimum value, being a scala.util.Left if it inclusive, or a scala.util.Right if it is exclusive, and the "multiple of" value

Supertypes
trait Template
class Object
trait Matchable
class Any

The long template for which the minimum value, either inclusive or exclusive, has been specified.

The long template for which the minimum value, either inclusive or exclusive, has been specified.

This template represents one for long values where the minimum constraint, whether it be an inclusive or exclusive one, has been specified. Now, a maximum constraint can be specified, closing the now half-open interval, or a "multiple of" constraint can be specified, allowing to match only the values which are multiple of this number. Neither of this constraints are mandatory to apply. This will produce a template for which either the minimum and the maximum values have been specified, or the minimum and the "multiple of" values have been specified.

Attributes

Constructor

creates a new instance of this class specifying the minimum value, being a scala.util.Left if it inclusive, or a scala.util.Right if it is exclusive

Supertypes

The long template for which the "multiple of" value has been specified.

The long template for which the "multiple of" value has been specified.

This template represents one for long values where the "multiple of" constraint has been specified. Now, a minimum or a maximum constraint can be specified, creating a range of acceptable values for the template to match. Neither of this constraints are mandatory to apply. This will produce a template for which either the minimum and the "multiple of" values have been specified, or the maximum and the "multiple of" values have been specified.

Attributes

Constructor

creates a new instance of this class specifying the divisor value

Supertypes

Inherited classlikes

trait CompleteIntegralTemplate[A](min: Either[A, A], max: Either[A, A], multipleOf: A, converter: (Either[A, A], Either[A, A], Option[A]) => JsonIntegralTemplate[A])(implicit evidence$8: Integral[A]) extends Template

The "terminal" integral template, for which no more information can be specified for building a JsonIntegralTemplate.

The "terminal" integral template, for which no more information can be specified for building a JsonIntegralTemplate.

This template represents the last stage in building an integral template, meaning that no more constraints can be specified. The range for the value has already been specified as a minimum and maximum allowed values, either inclusive or exclusive, so as the number which it should be a multiple of.

Type parameters

A

the actual integral type for which instantiating this type

Attributes

Constructor

creates a new instance of this trait given the already specified minimum, maximum and "multiple of" values and the function that returns a new JsonIntegralTemplate from this one

Inherited from:
IntegralTemplate
Supertypes
trait Template
class Object
trait Matchable
class Any
Known subtypes
trait CompleteNumericTemplate[A](min: Either[A, A], max: Either[A, A], converter: (Either[A, A], Either[A, A]) => JsonNumericTemplate[A])(implicit evidence$4: Numeric[A]) extends Template

The "terminal" numeric template, for which no more information can be specified for building a JsonNumericTemplate.

The "terminal" numeric template, for which no more information can be specified for building a JsonNumericTemplate.

This template represents the last stage in building a numeric template, meaning that no more constraints can be specified. The range for the value has already been specified as a minimum and maximum allowed values, either inclusive or exclusive.

Type parameters

A

the actual numeric type for which instantiating this type

Attributes

Constructor

creates a new instance of this trait given the already specified minimum and maximum values and the function that returns a new JsonNumericTemplate from this one

Inherited from:
NumericTemplate
Supertypes
trait Template
class Object
trait Matchable
class Any
Known subtypes
trait EmptyIntegralTemplate[A, B <: WithMinimumIntegralTemplate[A, D, E, H], C <: WithMaximumIntegralTemplate[A, D, F, H], D <: WithMinWithMaxIntegralTemplate[A, H], E <: WithMinWithMultipleIntegralTemplate[A, H], F <: WithMaxWithMultipleIntegralTemplate[A, H], G <: WithMultipleIntegralTemplate[A, E, F, H], H <: CompleteIntegralTemplate[A]](withMinBuilder: Either[A, A] => B, withMaxBuilder: Either[A, A] => C, withMultipleBuilder: A => G, converter: () => JsonIntegralTemplate[A])(implicit evidence$1: Integral[A]) extends Template

The "empty" integral template, capable of matching any value of the given integral type.

The "empty" integral template, capable of matching any value of the given integral type.

This is the starting template from which creating any other integral template by specifying more and more constraints. Being so, it is allowed to add a minimum value, either inclusive or exclusive, or a maximum value, either inclusive or exclusive, to create a new template from this. It is also allowed to specify a number of which the matched integral number should be multiple of for creating a new template.

Type parameters

A

the actual integral type for which instantiating this type

B

the actual type of the template for which the minimum has been specified

C

the actual type of the template for which the maximum has been specified

D

the actual type of the template for which either the minimum and the maximum have been specified altogether

E

the actual type of the template for which either the minimum and the divisor have been specified altogether

F

the actual type of the template for which either the divisor and the maximum have been specified altogether

G

the actual type of the template for which the divisor has been specified

H

the actual type of the template for which all possible constraints have been specified altogether

Attributes

Constructor

creates a new instance of this trait given the function that returns a new template given the minimum, the one that returns a new template given the maximum, the one that returns a new template given the divisor and the one that returns a new JsonIntegralTemplate from this one

Inherited from:
IntegralTemplate
Supertypes
trait Template
class Object
trait Matchable
class Any
Known subtypes
trait EmptyNumericTemplate[A, B <: WithMinimumNumericTemplate[A, D], C <: WithMaximumNumericTemplate[A, D], D <: CompleteNumericTemplate[A]](withMinBuilder: Either[A, A] => B, withMaxBuilder: Either[A, A] => C, converter: () => JsonNumericTemplate[A])(implicit evidence$1: Numeric[A]) extends Template

The "empty" numeric template, capable of matching any value of the given numeric type.

The "empty" numeric template, capable of matching any value of the given numeric type.

This is the starting template from which creating any other numeric template by specifying more and more constraints. Being so, it is allowed to add a minimum value, either inclusive or exclusive, or a maximum value, either inclusive or exclusive, to create a new template from this.

Type parameters

A

the actual numeric type for which instantiating this type

B

the actual type of the template for which the minimum has been specified

C

the actual type of the template for which the maximum has been specified

D

the actual type of the template for which either the minimum and the maximum have been specified altogether

Attributes

Constructor

creates a new instance of this trait given the function that returns a new template given the minimum, the one that returns a new template given the maximum and the one that returns a new JsonNumericTemplate from this one

Inherited from:
NumericTemplate
Supertypes
trait Template
class Object
trait Matchable
class Any
Known subtypes
trait WithMaxWithMultipleIntegralTemplate[A, B <: CompleteIntegralTemplate[A]](max: Either[A, A], multipleOf: A, completeBuilder: (Either[A, A], Either[A, A], A) => B, converter: (Either[A, A], Option[A]) => JsonIntegralTemplate[A])(implicit evidence$7: Integral[A]) extends Template

The integral template for which the maximum value, either inclusive or exclusive, has been specified along with the "multipleOf" value.

The integral template for which the maximum value, either inclusive or exclusive, has been specified along with the "multipleOf" value.

This template represents one for integral values where the maximum constraint, whether it be an inclusive or exclusive one, have been specified alongside a "multiple of" constraint. Now, a minimum constraint can be specified, allowing to close the half-open interval previously created. This constraints is not mandatory to apply. This will produce a "complete" template for which no more constraints can be specified.

Type parameters

A

the actual integral type for which instantiating this type

B

the actual type of the template for which all possible constraints have been specified altogether

Attributes

Constructor

creates a new instance of this trait given the already specified "multiple of" and maximum values, the function that returns a new template given the minimum, the maximum and the "multiple of" value and the one that returns a new JsonIntegralTemplate from this one

Inherited from:
IntegralTemplate
Supertypes
trait Template
class Object
trait Matchable
class Any
Known subtypes
trait WithMaximumIntegralTemplate[A, B <: WithMinWithMaxIntegralTemplate[A, D], C <: WithMaxWithMultipleIntegralTemplate[A, D], D <: CompleteIntegralTemplate[A]](max: Either[A, A], withMinWithMaxBuilder: (Either[A, A], Either[A, A]) => B, withMaxWithMultipleBuilder: (Either[A, A], A) => C, converter: Either[A, A] => JsonIntegralTemplate[A])(implicit evidence$4: Numeric[A]) extends Template

The integral template for which the maximum value, either inclusive or exclusive, has been specified.

The integral template for which the maximum value, either inclusive or exclusive, has been specified.

This template represents one for integral values where the maximum constraint, whether it be an inclusive or exclusive one, has been specified. Now, a minimum constraint can be specified, closing the now half-open interval, or a "multiple of" constraint can be specified, allowing to match only the values which are multiple of this number. Neither of this constraints are mandatory to apply. This will produce a template for which either the minimum and the maximum values have been specified, or the maximum and the "multiple of" values have been specified.

Type parameters

A

the actual integral type for which instantiating this type

B

the actual type of the template for which either the minimum and the maximum have been specified altogether

C

the actual type of the template for which either the maximum and the divisor have been specified altogether

D

the actual type of the template for which all possible constraints have been specified altogether

Attributes

Constructor

creates a new instance of this trait given the already specified maximum, the function that returns a new template given the minimum and the maximum, the function that returns a new template given the maximum and the "multiple of" value and the one that returns a new JsonIntegralTemplate from this one

Inherited from:
IntegralTemplate
Supertypes
trait Template
class Object
trait Matchable
class Any
Known subtypes
trait WithMaximumNumericTemplate[A, B <: CompleteNumericTemplate[A]](max: Either[A, A], completeBuilder: (Either[A, A], Either[A, A]) => B, converter: Either[A, A] => JsonNumericTemplate[A])(implicit evidence$3: Numeric[A]) extends Template

The numeric template for which the maximum value, either inclusive or exclusive, has been specified.

The numeric template for which the maximum value, either inclusive or exclusive, has been specified.

This template represents one for numerical values where the maximum constraint, whether it be an inclusive or exclusive one, has been specified. Now, only a minimum constraint can be specified, closing the now half-open interval. This is not mandatory to do. This will produce a "complete" template for which no more constraints can be specified.

Type parameters

A

the actual numeric type for which instantiating this type

B

the actual type of the template for which either the minimum and the maximum have been specified altogether

Attributes

Constructor

creates a new instance of this trait given the already specified maximum value, the function that returns a new template given the minimum and the maximum and the one that returns a new JsonNumericTemplate from this one

Inherited from:
NumericTemplate
Supertypes
trait Template
class Object
trait Matchable
class Any
Known subtypes
trait WithMinWithMaxIntegralTemplate[A, B <: CompleteIntegralTemplate[A]](min: Either[A, A], max: Either[A, A], completeBuilder: (Either[A, A], Either[A, A], A) => B, converter: (Either[A, A], Either[A, A]) => JsonNumericTemplate[A])(implicit evidence$5: Numeric[A]) extends Template

The integral template for which the minimum and the maximum values, either inclusive or exclusive, have been specified.

The integral template for which the minimum and the maximum values, either inclusive or exclusive, have been specified.

This template represents one for integral values where the minimum and the maximum constraints, whether they are inclusive or exclusive, have been specified. Now, a "multiple of" constraint can be specified, allowing to match only the values which are multiple of this number. This constraints is not mandatory to apply. This will produce a "complete" template for which no more constraints can be specified.

Type parameters

A

the actual integral type for which instantiating this type

B

the actual type of the template for which all possible constraints have been specified altogether

Attributes

Constructor

creates a new instance of this trait given the already specified minimum and maximum values, the function that returns a new template given the minimum, the maximum and the "multiple of" value and the one that returns a new JsonIntegralTemplate from this one

Inherited from:
IntegralTemplate
Supertypes
trait Template
class Object
trait Matchable
class Any
Known subtypes
trait WithMinWithMultipleIntegralTemplate[A, B <: CompleteIntegralTemplate[A]](min: Either[A, A], multipleOf: A, completeBuilder: (Either[A, A], Either[A, A], A) => B, converter: (Either[A, A], Option[A]) => JsonIntegralTemplate[A])(implicit evidence$6: Integral[A]) extends Template

The integral template for which the minimum value, either inclusive or exclusive, has been specified along with the "multipleOf" value.

The integral template for which the minimum value, either inclusive or exclusive, has been specified along with the "multipleOf" value.

This template represents one for integral values where the minimum constraint, whether it be an inclusive or exclusive one, have been specified alongside a "multiple of" constraint. Now, a maximum constraint can be specified, allowing to close the half-open interval previously created. This constraints is not mandatory to apply. This will produce a "complete" template for which no more constraints can be specified.

Type parameters

A

the actual integral type for which instantiating this type

B

the actual type of the template for which all possible constraints have been specified altogether

Attributes

Constructor

creates a new instance of this trait given the already specified minimum and "multiple of" values, the function that returns a new template given the minimum, the maximum and the "multiple of" value and the one that returns a new JsonIntegralTemplate from this one

Inherited from:
IntegralTemplate
Supertypes
trait Template
class Object
trait Matchable
class Any
Known subtypes
trait WithMinimumIntegralTemplate[A, B <: WithMinWithMaxIntegralTemplate[A, D], C <: WithMinWithMultipleIntegralTemplate[A, D], D <: CompleteIntegralTemplate[A]](min: Either[A, A], withMinWithMaxBuilder: (Either[A, A], Either[A, A]) => B, withMinWithMultipleBuilder: (Either[A, A], A) => C, converter: Either[A, A] => JsonIntegralTemplate[A])(implicit evidence$3: Integral[A]) extends Template

The integral template for which the minimum value, either inclusive or exclusive, has been specified.

The integral template for which the minimum value, either inclusive or exclusive, has been specified.

This template represents one for integral values where the minimum constraint, whether it be an inclusive or exclusive one, has been specified. Now, a maximum constraint can be specified, closing the now half-open interval, or a "multiple of" constraint can be specified, allowing to match only the values which are multiple of this number. Neither of this constraints are mandatory to apply. This will produce a template for which either the minimum and the maximum values have been specified, or the minimum and the "multiple of" values have been specified.

Type parameters

A

the actual integral type for which instantiating this type

B

the actual type of the template for which either the minimum and the maximum have been specified altogether

C

the actual type of the template for which either the minimum and the divisor have been specified altogether

D

the actual type of the template for which all possible constraints have been specified altogether

Attributes

Constructor

creates a new instance of this trait given the already specified minimum, the function that returns a new template given the minimum and the maximum, the function that returns a new template given the minimum and the "multiple of" value and the one that returns a new JsonIntegralTemplate from this one

Inherited from:
IntegralTemplate
Supertypes
trait Template
class Object
trait Matchable
class Any
Known subtypes
trait WithMinimumNumericTemplate[A, B <: CompleteNumericTemplate[A]](min: Either[A, A], completeBuilder: (Either[A, A], Either[A, A]) => B, converter: Either[A, A] => JsonNumericTemplate[A])(implicit evidence$2: Numeric[A]) extends Template

The numeric template for which the minimum value, either inclusive or exclusive, has been specified.

The numeric template for which the minimum value, either inclusive or exclusive, has been specified.

This template represents one for numerical values where the minimum constraint, whether it be an inclusive or exclusive one, has been specified. Now, only a maximum constraint can be specified, closing the now half-open interval. This is not mandatory to do. This will produce a "complete" template for which no more constraints can be specified.

Type parameters

A

the actual numeric type for which instantiating this type

B

the actual type of the template for which either the minimum and the maximum have been specified altogether

Attributes

Constructor

creates a new instance of this trait given the already specified minimum value, the function that returns a new template given the minimum and the maximum and the one that returns a new JsonNumericTemplate from this one

Inherited from:
NumericTemplate
Supertypes
trait Template
class Object
trait Matchable
class Any
Known subtypes
trait WithMultipleIntegralTemplate[A, B <: WithMinWithMultipleIntegralTemplate[A, D], C <: WithMaxWithMultipleIntegralTemplate[A, D], D <: CompleteIntegralTemplate[A]](multipleOf: A, withMinWithMultipleBuilder: (Either[A, A], A) => B, withMaxWithMultipleBuilder: (Either[A, A], A) => C, converter: Option[A] => JsonIntegralTemplate[A])(implicit evidence$2: Integral[A]) extends Template

The integral template for which the "multiple of" value has been specified.

The integral template for which the "multiple of" value has been specified.

This template represents one for integral values where the "multiple of" constraint has been specified. Now, a minimum or a maximum constraint can be specified, creating a range of acceptable values for the template to match. Neither of this constraints are mandatory to apply. This will produce a template for which either the minimum and the "multiple of" values have been specified, or the maximum and the "multiple of" values have been specified.

Type parameters

A

the actual integral type for which instantiating this type

B

the actual type of the template for which either the minimum and the divisor have been specified altogether

C

the actual type of the template for which either the maximum and the divisor have been specified altogether

D

the actual type of the template for which all possible constraints have been specified altogether

Attributes

Constructor

creates a new instance of this trait given the already specified "multiple of" value, the function that returns a new template given the minimum and the "multiple of" value, the function that returns a new template given the maximum and the "multiple of" value and the one that returns a new JsonIntegralTemplate from this one

Inherited from:
IntegralTemplate
Supertypes
trait Template
class Object
trait Matchable
class Any
Known subtypes