com.digitalasset.canton.config.manual
CantonConfigValidatorDerivation
Companion trait CantonConfigValidatorDerivation
object CantonConfigValidatorDerivation extends CantonConfigValidatorDerivation
- Alphabetic
- By Inheritance
- CantonConfigValidatorDerivation
- CantonConfigValidatorDerivation
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type Typeclass[A] = CantonConfigValidator[A]
- Definition Classes
- CantonConfigValidatorDerivation
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- macro def apply[A]: CantonConfigValidator[A]
Manual invocation for deriving a CantonConfigValidator instance from a CantonConfigPrevalidator instance (found by implicit resolution).
Manual invocation for deriving a CantonConfigValidator instance from a CantonConfigPrevalidator instance (found by implicit resolution). Implicit resolution must also find CantonConfigValidator instances for all subconfigurations of
A.In particular, if
Ais a case class, then implicit resolution must find CantonConfigValidator instances for all the fields of the case class. It does not automatically attempt to derive such instances. IfAis a sealed trait of such case classes, then this applies analogously to each implementing case class.Manual is the preferred approach to deriving CantonConfigValidator instances for the following reasons:
- It is more predictable than semi-automatic and automatic derivation. In particular, error messages about missing implicits for CantonConfigPrevalidator or CantonConfigValidator instances are more precise.
- If the derived instances are systematically bound to implicit
vals in scope, we will generate the code for the type class instance only once in the whole codebase, whereas the other approaches may generate the code once per usage of a configuration as a subconfiguration of other configurations. This increases compile time.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def join[A](ctx: ReadOnlyCaseClass[Typeclass, A])(implicit prevalidator: CantonConfigPrevalidator[A]): Typeclass[A]
- Definition Classes
- CantonConfigValidatorDerivation
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def split[A](ctx: SealedTrait[Typeclass, A]): Typeclass[A]
- Definition Classes
- CantonConfigValidatorDerivation
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])