Packages

c

io.scalaland.chimney.dsl

TransformerDefinition

final class TransformerDefinition[From, To, Cfg <: TransformerCfg, Flags <: TransformerFlags] extends TransformerFlagsDsl[[Flags1]TransformerDefinition[From, To, Cfg, Flags1], Flags] with TransformerDefinitionCommons[[Cfg1]TransformerDefinition[From, To, Cfg1, Flags]] with WithRuntimeDataStore

Allows customization of io.scalaland.chimney.Transformer derivation.

From

type of input value

To

type of output value

Cfg

type-level encoded config

Flags

type-level encoded flags

Since

0.4.0

Linear Supertypes
WithRuntimeDataStore, TransformerDefinitionCommons[[Cfg1]TransformerDefinition[From, To, Cfg1, Flags]], TransformerFlagsDsl[[Flags1]TransformerDefinition[From, To, Cfg, Flags1], Flags], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TransformerDefinition
  2. WithRuntimeDataStore
  3. TransformerDefinitionCommons
  4. TransformerFlagsDsl
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TransformerDefinition(runtimeData: RuntimeDataStore)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. macro def buildTransformer[ImplicitScopeFlags <: TransformerFlags](implicit tc: TransformerConfiguration[ImplicitScopeFlags]): Transformer[From, To]

    Build Transformer using current configuration.

    Build Transformer using current configuration.

    It runs macro that tries to derive instance of Transformer[From, To]. When transformation can't be derived, it results with compilation error.

    returns

    io.scalaland.chimney.Transformer type class instance

    Since

    0.4.0

  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. def disableBeanGetters: TransformerDefinition[From, To, Cfg, Disable[BeanGetters, Flags]]

    Disable Java Beans naming convention (.getName, .isName) on From.

    Disable Java Beans naming convention (.getName, .isName) on From.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.6.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#reading-from-bean-getters for more details

  8. def disableBeanSetters: TransformerDefinition[From, To, Cfg, Disable[BeanSetters, Flags]]

    Disable Java Beans naming convention (.setName(value)) on To.

    Disable Java Beans naming convention (.setName(value)) on To.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.6.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#writing-to-bean-setters for more details

  9. def disableDefaultValues: TransformerDefinition[From, To, Cfg, Disable[DefaultValues, Flags]]

    Fail derivation if From type is missing field even if To has default value for it.

    Fail derivation if From type is missing field even if To has default value for it.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.1.9

    See also

    https://chimney.readthedocs.io/supported-transformations/#allowing-fallback-to-the-constructors-default-values for more details

  10. def disableIgnoreUnmatchedBeanSetters: TransformerDefinition[From, To, Cfg, Disable[BeanSettersIgnoreUnmatched, Flags]]

    Disable not failing compilation on unresolved Java Beans naming convention (.setName(value)) in To.

    Disable not failing compilation on unresolved Java Beans naming convention (.setName(value)) in To.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.8.3

    See also

    https://chimney.readthedocs.io/supported-transformations/#wignoring-unmatched-bean-setters for more details

  11. def disableImplicitConflictResolution: TransformerDefinition[From, To, Cfg, Disable[ImplicitConflictResolution[_], Flags]]

    Disable any implicit conflict resolution preference that was set previously.

    Disable any implicit conflict resolution preference that was set previously.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.7.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#resolving-priority-of-implicit-total-vs-partial-transformers for more details

  12. def disableInheritedAccessors: TransformerDefinition[From, To, Cfg, Disable[InheritedAccessors, Flags]]

    Disable inherited accessors lookup that was previously enabled by enableInheritedAccessors

    Disable inherited accessors lookup that was previously enabled by enableInheritedAccessors

    Definition Classes
    TransformerFlagsDsl
    Since

    0.8.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#reading-from-inherited-valuesmethods for more details

  13. def disableMacrosLogging: TransformerDefinition[From, To, Cfg, Disable[MacrosLogging, Flags]]

    Disable printing the logs from the derivation process.

    Disable printing the logs from the derivation process.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.8.0

    See also

    https://chimney.readthedocs.io/troubleshooting/#debugging-macros for more details

  14. def disableMethodAccessors: TransformerDefinition[From, To, Cfg, Disable[MethodAccessors, Flags]]

    Disable method accessors lookup that was previously enabled by enableMethodAccessors

    Disable method accessors lookup that was previously enabled by enableMethodAccessors

    Definition Classes
    TransformerFlagsDsl
    Since

    0.5.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#reading-from-methods for more details

  15. def disableOptionDefaultsToNone: TransformerDefinition[From, To, Cfg, Disable[OptionDefaultsToNone, Flags]]

    Disable None fallback value for optional fields in To.

    Disable None fallback value for optional fields in To.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.6.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#allowing-fallback-to-none-as-the-constructors-argument for more details

  16. def enableBeanGetters: TransformerDefinition[From, To, Cfg, Enable[BeanGetters, Flags]]

    Enable Java Beans naming convention (.getName, .isName) on From.

    Enable Java Beans naming convention (.getName, .isName) on From.

    By default only Scala conversions (.name) are allowed.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.2.1

    See also

    https://chimney.readthedocs.io/supported-transformations/#reading-from-bean-getters for more details

  17. def enableBeanSetters: TransformerDefinition[From, To, Cfg, Enable[BeanSetters, Flags]]

    Enable Java Beans naming convention (.setName(value)) on To.

    Enable Java Beans naming convention (.setName(value)) on To.

    By default only Scala conversions (.copy(name = value)) are allowed.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.2.1

    See also

    https://chimney.readthedocs.io/supported-transformations/#writing-to-bean-setters for more details

  18. def enableDefaultValues: TransformerDefinition[From, To, Cfg, Enable[DefaultValues, Flags]]

    Enable fallback to default case class values in To type.

    Enable fallback to default case class values in To type.

    By default in such case derivation will fail. By enabling this flag, derivation will fallback to default value.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.6.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#allowing-fallback-to-the-constructors-default-values for more details

  19. def enableIgnoreUnmatchedBeanSetters: TransformerDefinition[From, To, Cfg, Enable[BeanSettersIgnoreUnmatched, Flags]]

    Enable not failing compilation on unresolved Java Beans naming convention (.setName(value)) in To.

    Enable not failing compilation on unresolved Java Beans naming convention (.setName(value)) in To.

    By default presence of setters (.setName(value)) fails compilation unless setters are enabled and matched with a source field or provided valued.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.8.3

    See also

    https://chimney.readthedocs.io/supported-transformations/#ignoring-unmatched-bean-setters for more details

  20. def enableImplicitConflictResolution[P <: ImplicitTransformerPreference](preference: P): TransformerDefinition[From, To, Cfg, Enable[ImplicitConflictResolution[P], Flags]]

    Enable conflict resolution when both Transformer and PartialTransformer are available in the implicit scope.

    Enable conflict resolution when both Transformer and PartialTransformer are available in the implicit scope.

    preference

    parameter specifying which implicit transformer to pick in case of conflict

    Definition Classes
    TransformerFlagsDsl
    Since

    0.7.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#resolving-priority-of-implicit-total-vs-partial-transformers for more details

  21. def enableInheritedAccessors: TransformerDefinition[From, To, Cfg, Enable[InheritedAccessors, Flags]]

    Enable lookup in definitions inherited from supertype.

    Enable lookup in definitions inherited from supertype.

    By default only values defined directly in the type are considered. With this flag supertype methods would not be filtered out

    Definition Classes
    TransformerFlagsDsl
    Since

    0.8.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#reading-from-inherited-valuesmethods for more details

  22. def enableMacrosLogging: TransformerDefinition[From, To, Cfg, Enable[MacrosLogging, Flags]]

    Enable printing the logs from the derivation process.

    Enable printing the logs from the derivation process.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.8.0

    See also

    https://chimney.readthedocs.io/troubleshooting/#debugging-macros for more details

  23. def enableMethodAccessors: TransformerDefinition[From, To, Cfg, Enable[MethodAccessors, Flags]]

    Enable values to be supplied from method calls.

    Enable values to be supplied from method calls. Source method must be public and have no parameter list.

    By default this is disabled because method calls may perform side effects (e.g. mutations)

    Definition Classes
    TransformerFlagsDsl
    Since

    0.6.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#reading-from-methods for more details

  24. def enableOptionDefaultsToNone: TransformerDefinition[From, To, Cfg, Enable[OptionDefaultsToNone, Flags]]

    Sets target value of optional field to None if field is missing from source type From.

    Sets target value of optional field to None if field is missing from source type From.

    By default in such case compilation fails.

    Definition Classes
    TransformerFlagsDsl
    Since

    0.2.1

    See also

    https://chimney.readthedocs.io/supported-transformations/#allowing-fallback-to-none-as-the-constructors-argument for more details

  25. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  27. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  28. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  29. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  30. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  31. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  33. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  34. def partial: PartialTransformerDefinition[From, To, Cfg, Flags]

    Lifts current transformer definition as PartialTransformer definition

    Lifts current transformer definition as PartialTransformer definition

    It keeps all the configuration, provided missing values, renames, coproduct instances etc.

    returns

    io.scalaland.chimney.dsl.PartialTransformerDefinition

  35. val runtimeData: RuntimeDataStore

    runtime storage for values and functions that transformer definition is customized with

    runtime storage for values and functions that transformer definition is customized with

    Definition Classes
    TransformerDefinition → TransformerDefinitionCommons
  36. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  37. def toString(): String
    Definition Classes
    AnyRef → Any
  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  41. macro def withConstructor[Ctor](f: Ctor)(implicit ev: Of[Ctor, To]): TransformerDefinition[From, To, _ <: TransformerCfg, Flags]

    Use f instead of the primary constructor to construct the To value.

    Use f instead of the primary constructor to construct the To value.

    Macro will read the names of Eta-expanded method's/lambda's parameters and try to match them with From getters.

    Values for each parameter can be provided the same way as if they were normal constructor's arguments.

    Ctor

    type of the Eta-expanded method/lambda which should return To

    f

    method name or lambda which constructs To

    returns

    io.scalaland.chimney.dsl.TransformerDefinition

    Since

    0.8.4

    See also

    https://chimney.readthedocs.io/supported-transformations/#types-with-manually-provided-constructors for more details

  42. macro def withCoproductInstance[Inst](f: (Inst) ⇒ To): TransformerDefinition[From, To, _ <: TransformerCfg, Flags]

    Use f to calculate the (missing) coproduct instance when mapping one coproduct into another.

    Use f to calculate the (missing) coproduct instance when mapping one coproduct into another.

    By default if mapping one coproduct in From into another coproduct in To derivation expects that coproducts to have matching names of its components, and for every component in To field's type there is matching component in From type. If some component is missing it fails compilation unless provided replacement with this operation.

    Inst

    type of coproduct instance

    f

    function to calculate values of components that cannot be mapped automatically

    returns

    io.scalaland.chimney.dsl.TransformerDefinition

    Since

    0.4.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#handling-a-specific-sealed-subtype-with-a-computed-value for more details

  43. macro def withFieldComputed[T, U](selector: (To) ⇒ T, f: (From) ⇒ U)(implicit ev: <:<[U, T]): TransformerDefinition[From, To, _ <: TransformerCfg, Flags]

    Use function f to compute value of field picked using selector.

    Use function f to compute value of field picked using selector.

    By default if From is missing field picked by selector compilation fails.

    T

    type of target field

    U

    type of computed value

    selector

    target field in To, defined like _.name

    f

    function used to compute value of the target field

    returns

    io.scalaland.chimney.dsl.TransformerDefinition

    Since

    0.4.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#wiring-the-constructors-parameter-to-computed-value for more details

  44. macro def withFieldConst[T, U](selector: (To) ⇒ T, value: U)(implicit ev: <:<[U, T]): TransformerDefinition[From, To, _ <: TransformerCfg, Flags]

    Use provided value value for field picked using selector.

    Use provided value value for field picked using selector.

    By default if From is missing field picked by selector, compilation fails.

    T

    type of target field

    U

    type of provided value

    selector

    target field in To, defined like _.name

    value

    constant value to use for the target field

    returns

    io.scalaland.chimney.dsl.TransformerDefinition

    Since

    0.4.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#wiring-the-constructors-parameter-to-a-provided-value for more details

  45. macro def withFieldRenamed[T, U](selectorFrom: (From) ⇒ T, selectorTo: (To) ⇒ U): TransformerDefinition[From, To, _ <: TransformerCfg, Flags]

    Use selectorFrom field in From to obtain the value of selectorTo field in To

    Use selectorFrom field in From to obtain the value of selectorTo field in To

    By default if From is missing field picked by selectorTo compilation fails.

    T

    type of source field

    U

    type of target field

    selectorFrom

    source field in From, defined like _.originalName

    selectorTo

    target field in To, defined like _.newName

    returns

    io.scalaland.chimney.dsl.TransformerDefinition

    Since

    0.4.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#wiring-the-constructors-parameter-to-its-source-field for more details

Inherited from WithRuntimeDataStore

Inherited from TransformerDefinitionCommons[[Cfg1]TransformerDefinition[From, To, Cfg1, Flags]]

Inherited from TransformerFlagsDsl[[Flags1]TransformerDefinition[From, To, Cfg, Flags1], Flags]

Inherited from AnyRef

Inherited from Any

Ungrouped