final class IsoDefinition[First, Second, FirstOverrides <: TransformerOverrides, SecondOverrides <: TransformerOverrides, Flags <: TransformerFlags] extends TransformerFlagsDsl[[Flags1]IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Flags1], Flags]
Allows customization of io.scalaland.chimney.Iso derivation.
- First
input type of the first conversion, output type of the second conversion
- Second
output type of the first conversion, input type of the second conversion
- FirstOverrides
type-level encoded config
- SecondOverrides
type-level encoded config
- Flags
type-level encoded flags
- Since
1.2.0
- Alphabetic
- By Inheritance
- IsoDefinition
- TransformerFlagsDsl
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new IsoDefinition(first: TransformerDefinition[First, Second, FirstOverrides, Flags], second: TransformerDefinition[Second, First, SecondOverrides, Flags])
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
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
macro
def
buildIso[ImplicitScopeFlags <: TransformerFlags](implicit tc: TransformerConfiguration[ImplicitScopeFlags]): Iso[First, Second]
Build Iso using current configuration.
Build Iso using current configuration.
It runs macro that tries to derive instance of
Iso[First, Second]. When transformation can't be derived, it results with compilation error.- returns
io.scalaland.chimney.Iso type class instance
- Since
1.2.0
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
disableBeanGetters: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Disable[BeanGetters, Flags]]
Disable Java Beans naming convention (
.getName,.isName) onFrom.Disable Java Beans naming convention (
.getName,.isName) onFrom.- Definition Classes
- TransformerFlagsDsl
- Since
0.6.0
- See also
https://chimney.readthedocs.io/supported-transformations/#reading-from-bean-getters for more details
-
def
disableBeanSetters: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Disable[BeanSetters, Flags]]
Disable Java Beans naming convention (
.setName(value)) onTo.Disable Java Beans naming convention (
.setName(value)) onTo.- Definition Classes
- TransformerFlagsDsl
- Since
0.6.0
- See also
https://chimney.readthedocs.io/supported-transformations/#writing-to-bean-setters for more details
-
def
disableCustomFieldNameComparison: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, 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
-
def
disableCustomSubtypeNameComparison: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, 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
-
def
disableDefaultValueOfType[T]: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Disable[DefaultValueOfType[T], Flags]]
Fail derivation if
Fromtype is missing field even ifTohas default value type for fields ofTtype.Fail derivation if
Fromtype is missing field even ifTohas default value type for fields ofTtype.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
-
def
disableDefaultValues: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Disable[DefaultValues, Flags]]
Fail derivation if
Fromtype is missing field even ifTohas default value for it.Fail derivation if
Fromtype is missing field even ifTohas 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
-
def
disableIgnoreUnmatchedBeanSetters: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Disable[BeanSettersIgnoreUnmatched, Flags]]
Disable not failing compilation on unresolved Java Beans naming convention (
.setName(value)) inTo.Disable not failing compilation on unresolved Java Beans naming convention (
.setName(value)) inTo.- Definition Classes
- TransformerFlagsDsl
- Since
0.8.3
- See also
https://chimney.readthedocs.io/supported-transformations/#ignoring-unmatched-bean-setters for more details
-
def
disableImplicitConflictResolution: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, 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
-
def
disableInheritedAccessors: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Disable[InheritedAccessors, Flags]]
Disable inherited accessors lookup that was previously enabled by
enableInheritedAccessorsDisable 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
-
def
disableMacrosLogging: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, 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
-
def
disableMethodAccessors: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Disable[MethodAccessors, Flags]]
Disable method accessors lookup that was previously enabled by
enableMethodAccessorsDisable 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
-
def
disableNonAnyValWrappers: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, 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
-
def
disableNonUnitBeanSetters: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Disable[NonUnitBeanSetters, Flags]]
Enable calling unary non-Unit methods with Java Beans naming convention (
.setName(value)) inTo.Enable calling unary non-Unit methods with Java Beans naming convention (
.setName(value)) inTo.- Definition Classes
- TransformerFlagsDsl
- Since
1.0.0
- See also
https://chimney.readthedocs.io/supported-transformations/#writing-to-non-unit-bean-setters for more details
-
def
disableOptionDefaultsToNone: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Disable[OptionDefaultsToNone, Flags]]
Disable
Nonefallback value for optional fields inTo.Disable
Nonefallback value for optional fields inTo.- 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
-
def
disablePartialUnwrapsOption: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Disable[PartialUnwrapsOption, Flags]]
Disable safe
Optionunwrapping byPartialTransformer- eachOptionto non-Optionhas to be handled manually.Disable safe
Optionunwrapping byPartialTransformer- eachOptionto non-Optionhas 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
-
def
enableBeanGetters: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Enable[BeanGetters, Flags]]
Enable Java Beans naming convention (
.getName,.isName) onFrom.Enable Java Beans naming convention (
.getName,.isName) onFrom.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
-
def
enableBeanSetters: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Enable[BeanSetters, Flags]]
Enable Java Beans naming convention (
.setName(value)) onTo.Enable Java Beans naming convention (
.setName(value)) onTo.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
-
def
enableCustomFieldNameComparison[C <: TransformedNamesComparison with Singleton](namesComparison: C): IsoDefinition[First, Second, FirstOverrides, SecondOverrides, 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
-
def
enableCustomSubtypeNameComparison[C <: TransformedNamesComparison with Singleton](namesComparison: C): IsoDefinition[First, Second, FirstOverrides, SecondOverrides, 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
-
def
enableDefaultValueOfType[T]: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Enable[DefaultValueOfType[T], Flags]]
Enable fallback to default case class values in
Totype for fields ofTtype.Enable fallback to default case class values in
Totype for fields ofTtype.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
-
def
enableDefaultValues: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Enable[DefaultValues, Flags]]
Enable fallback to default case class values in
Totype.Enable fallback to default case class values in
Totype.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
-
def
enableIgnoreUnmatchedBeanSetters: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Enable[BeanSettersIgnoreUnmatched, Flags]]
Enable not failing compilation on unresolved Java Beans naming convention (
.setName(value)) inTo.Enable not failing compilation on unresolved Java Beans naming convention (
.setName(value)) inTo.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
-
def
enableImplicitConflictResolution[P <: ImplicitTransformerPreference](preference: P): IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Enable[ImplicitConflictResolution[P], Flags]]
Enable conflict resolution when both
TransformerandPartialTransformerare available in the implicit scope.Enable conflict resolution when both
TransformerandPartialTransformerare 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
-
def
enableInheritedAccessors: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, 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
-
def
enableMacrosLogging: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, 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
-
def
enableMethodAccessors: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, 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
-
def
enableNonAnyValWrappers: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, 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
-
def
enableNonUnitBeanSetters: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Enable[NonUnitBeanSetters, Flags]]
Enable calling unary non-Unit methods with Java Beans naming convention (
.setName(value)) inTo.Enable calling unary non-Unit methods with Java Beans naming convention (
.setName(value)) inTo.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
-
def
enableOptionDefaultsToNone: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, 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
-
def
enablePartialUnwrapsOption: IsoDefinition[First, Second, FirstOverrides, SecondOverrides, Enable[PartialUnwrapsOption, Flags]]
Enable safe Option unwrapping by
PartialTransformer-Optionis automatically unwrapped to non-Optionvalues,Noneis treated as empty value errors.Enable safe Option unwrapping by
PartialTransformer-Optionis automatically unwrapped to non-Optionvalues,Noneis 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
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- val first: TransformerDefinition[First, Second, FirstOverrides, Flags]
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val second: TransformerDefinition[Second, First, SecondOverrides, Flags]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
macro
def
withEnumCaseRenamed[FirstSubtype, SecondSubtype]: IsoDefinition[First, Second, _ <: TransformerOverrides, _ <: TransformerOverrides, Flags]
Alias to withSealedSubtypeRenamed.
Alias to withSealedSubtypeRenamed.
- Since
1.2.0
-
macro
def
withFieldRenamed[T, U](selectorFirst: (First) ⇒ T, selectorSecond: (Second) ⇒ U): IsoDefinition[First, Second, _ <: TransformerOverrides, _ <: TransformerOverrides, Flags]
Use
selectorFirstfield inFirstto obtain the value ofselectorSecondfield inSecond.Use
selectorFirstfield inFirstto obtain the value ofselectorSecondfield inSecond.By default if
Firstis missing field picked byselectorSecond(or reverse) the compilation fails.- T
type of the first field
- U
type of the second field
- selectorFirst
source field in
First, defined like_.originalName- selectorSecond
target field in
Second, defined like_.newName- returns
- Since
1.2.0
- See also
https://chimney.readthedocs.io/supported-transformations/#wiring-the-constructors-parameter-to-its-source-field for more details
-
macro
def
withSealedSubtypeRenamed[FirstSubtype, SecondSubtype]: IsoDefinition[First, Second, _ <: TransformerOverrides, _ <: TransformerOverrides, Flags]
Use
FirstSubtypeinFirstas a source forSecondSubtypeinSecond.Use
FirstSubtypeinFirstas a source forSecondSubtypeinSecond.- FirstSubtype
type of sealed/enum instance
- SecondSubtype
type of sealed/enum instance
- returns
- 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