c

io.scalaland.chimney.dsl

CodecDefinition

final class CodecDefinition[Domain, Dto, EncodeOverrides <: TransformerOverrides, DecodeOverrides <: TransformerOverrides, Flags <: TransformerFlags] extends TransformerFlagsDsl[[Flags1]CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Flags1], Flags]

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

Domain

type of the domain value

Dto

typeof the DTO value

EncodeOverrides

type-level encoded config

DecodeOverrides

type-level encoded config

Flags

type-level encoded flags

Since

1.2.0

Linear Supertypes
TransformerFlagsDsl[[Flags1]CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Flags1], Flags], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CodecDefinition
  2. TransformerFlagsDsl
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CodecDefinition(encode: TransformerDefinition[Domain, Dto, EncodeOverrides, Flags], decode: PartialTransformerDefinition[Dto, Domain, DecodeOverrides, Flags])

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 buildCodec[ImplicitScopeFlags <: TransformerFlags](implicit tc: TransformerConfiguration[ImplicitScopeFlags]): Codec[Domain, Dto]

    Build Codec using current configuration.

    Build Codec using current configuration.

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

    returns

    io.scalaland.chimney.Codec type class instance

    Since

    1.2.0

  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. val decode: PartialTransformerDefinition[Dto, Domain, DecodeOverrides, Flags]
  8. def disableBeanGetters: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  9. def disableBeanSetters: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  10. def disableCustomFieldNameComparison: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Disable[FieldNameComparison[_], Flags]]

    Disable any custom way of comparing if source fields' names and target fields' names are matching.

    Disable any custom way of comparing if source fields' names and target fields' names are matching.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#customizing-field-name-matching for more details

  11. def disableCustomSubtypeNameComparison: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Disable[SubtypeNameComparison[_], Flags]]

    Disable any custom way of comparing if source subtypes' names and target fields' names are matching.

    Disable any custom way of comparing if source subtypes' names and target fields' names are matching.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#customizing-subtype-name-matching for more details

  12. def disableDefaultValueOfType[T]: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Disable[DefaultValueOfType[T], Flags]]

    Fail derivation if From type is missing field even if To has default value type for fields of T type.

    Fail derivation if From type is missing field even if To has default value type for fields of T type.

    This flag can be set in parallel to globally enabling default values with disableDefaultValues.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.2.0

    See also

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

  13. def disableDefaultValues: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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.

    This flag can be set in parallel to enabling default values for specific field type with * disableDefaultValueOfType.

    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

  14. def disableIgnoreUnmatchedBeanSetters: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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/#ignoring-unmatched-bean-setters for more details

  15. def disableImplicitConflictResolution: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  16. def disableInheritedAccessors: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  17. def disableMacrosLogging: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  18. def disableMethodAccessors: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  19. def disableNonAnyValWrappers: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Disable[NonAnyValWrappers, Flags]]

    Disable unpacking/wrapping with wrapper types (classes with have only 1 val, set in a constructor) even when they are not AnyVals.

    Disable unpacking/wrapping with wrapper types (classes with have only 1 val, set in a constructor) even when they are not AnyVals.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.3.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#frominto-a-wrapper-type for more details

  20. def disableNonUnitBeanSetters: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Disable[NonUnitBeanSetters, Flags]]

    Enable calling unary non-Unit methods with Java Beans naming convention (.setName(value)) in To.

    Enable calling unary non-Unit methods with Java Beans naming convention (.setName(value)) in To.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

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

  21. def disableOptionDefaultsToNone: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  22. def disablePartialUnwrapsOption: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Disable[PartialUnwrapsOption, Flags]]

    Disable safe Option unwrapping by PartialTransformer - each Option to non-Option has to be handled manually.

    Disable safe Option unwrapping by PartialTransformer - each Option to non-Option has to be handled manually.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#controlling-automatic-option-unwrapping for more details

  23. def enableBeanGetters: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  24. def enableBeanSetters: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  25. def enableCustomFieldNameComparison[C <: TransformedNamesComparison with Singleton](namesComparison: C): CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Enable[FieldNameComparison[C], Flags]]

    Enable custom way of comparing if source fields' names and target fields' names are matching.

    Enable custom way of comparing if source fields' names and target fields' names are matching.

    namesComparison

    parameter specifying how names should be compared by macro

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#customizing-field-name-matching for more details

  26. def enableCustomSubtypeNameComparison[C <: TransformedNamesComparison with Singleton](namesComparison: C): CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Enable[SubtypeNameComparison[C], Flags]]

    Enable custom way of comparing if source subtypes' names and target fields' names are matching.

    Enable custom way of comparing if source subtypes' names and target fields' names are matching.

    namesComparison

    parameter specifying how names should be compared by macro

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#customizing-subtype-name-matching for more details

  27. def enableDefaultValueOfType[T]: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Enable[DefaultValueOfType[T], Flags]]

    Enable fallback to default case class values in To type for fields of T type.

    Enable fallback to default case class values in To type for fields of T type.

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

    This flag can be set in parallel to globally enabling default values with enableDefaultValues.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.2.0

    See also

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

  28. def enableDefaultValues: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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.

    This flag can be set in parallel to enabling default values for specific field type with enableDefaultValueOfType.

    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

  29. def enableIgnoreUnmatchedBeanSetters: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  30. def enableImplicitConflictResolution[P <: ImplicitTransformerPreference](preference: P): CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  31. def enableInheritedAccessors: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  32. def enableMacrosLogging: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  33. def enableMethodAccessors: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  34. def enableNonAnyValWrappers: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Enable[NonAnyValWrappers, Flags]]

    Enable unpacking/wrapping with wrapper types (classes with have only 1 val, set in a constructor) even when they are not AnyVals.

    Enable unpacking/wrapping with wrapper types (classes with have only 1 val, set in a constructor) even when they are not AnyVals.

    By default in such case compilation fails.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.3.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#frominto-a-wrapper-type for more details

  35. def enableNonUnitBeanSetters: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Enable[NonUnitBeanSetters, Flags]]

    Enable calling unary non-Unit methods with Java Beans naming convention (.setName(value)) in To.

    Enable calling unary non-Unit methods with Java Beans naming convention (.setName(value)) in To.

    By default only methods returning Unit (setName(value): Unit) could be considered setters.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

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

  36. def enableOptionDefaultsToNone: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, 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

  37. def enablePartialUnwrapsOption: CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Enable[PartialUnwrapsOption, Flags]]

    Enable safe Option unwrapping by PartialTransformer - Option is automatically unwrapped to non-Option values, None is treated as empty value errors.

    Enable safe Option unwrapping by PartialTransformer - Option is automatically unwrapped to non-Option values, None is treated as empty value errors.

    This is the default behavior.

    Definition Classes
    TransformerFlagsDsl
    Since

    1.0.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#controlling-automatic-option-unwrapping for more details

  38. val encode: TransformerDefinition[Domain, Dto, EncodeOverrides, Flags]
  39. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  40. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  41. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  42. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  43. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  44. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  45. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  46. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  47. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  48. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  49. def toString(): String
    Definition Classes
    AnyRef → Any
  50. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  53. macro def withEnumCaseRenamed[DomainSubtype, DtoSubtype]: CodecDefinition[Domain, Dto, _ <: TransformerOverrides, _ <: TransformerOverrides, Flags]

    Alias to withSealedSubtypeRenamed.

    Since

    1.2.0

  54. macro def withFieldRenamed[T, U](selectorDomain: (Domain) ⇒ T, selectorDto: (Dto) ⇒ U): CodecDefinition[Domain, Dto, _ <: TransformerOverrides, _ <: TransformerOverrides, Flags]

    Use selectorDomain field in Domain to obtain the value of selectorDto field in Dto.

    Use selectorDomain field in Domain to obtain the value of selectorDto field in Dto.

    By default if Domain is missing field picked by selectorDto (or reverse) the compilation fails.

    T

    type of domain field

    U

    type of DTO field

    selectorDomain

    source field in Domain, defined like _.originalName

    selectorDto

    target field in Dto, defined like _.newName

    returns

    io.scalaland.chimney.dsl.CodecDefinition

    Since

    1.2.0

    See also

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

  55. macro def withSealedSubtypeRenamed[DomainSubtype, DtoSubtype]: CodecDefinition[Domain, Dto, _ <: TransformerOverrides, _ <: TransformerOverrides, Flags]

    Use DomainSubtype in Domain as a source for DtoSubtype in Dto.

    Use DomainSubtype in Domain as a source for DtoSubtype in Dto.

    DomainSubtype

    type of sealed/enum instance

    DtoSubtype

    type of sealed/enum instance

    returns

    io.scalaland.chimney.dsl.CodecDefinition

    Since

    1.2.0

    See also

    https://chimney.readthedocs.io/supported-transformations/#handling-a-specific-sealed-subtype-by-a-specific-target-subtype for more details

Inherited from TransformerFlagsDsl[[Flags1]CodecDefinition[Domain, Dto, EncodeOverrides, DecodeOverrides, Flags1], Flags]

Inherited from AnyRef

Inherited from Any

Ungrouped