Package org.derive4j.processor.api.model
Class AlgebraicDataTypes.Lazy
- java.lang.Object
-
- org.derive4j.processor.api.model.AlgebraicDataType
-
- org.derive4j.processor.api.model.AlgebraicDataTypes.Lazy
-
- Enclosing class:
- AlgebraicDataTypes
private static final class AlgebraicDataTypes.Lazy extends AlgebraicDataType
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.derive4j.processor.api.model.AlgebraicDataType
AlgebraicDataType.Case<R>
-
-
Field Summary
Fields Modifier and Type Field Description private AlgebraicDataType
evaluation
private java.util.function.Supplier<AlgebraicDataType>
expression
-
Constructor Summary
Constructors Constructor Description Lazy(java.util.function.Supplier<AlgebraicDataType> algebraicDataType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private AlgebraicDataType
_evaluate()
<R> R
match(AlgebraicDataType.Case<R> adt)
-
Methods inherited from class org.derive4j.processor.api.model.AlgebraicDataType
dataConstruction, deriveConfig, fields, matchMethod, typeConstructor
-
-
-
-
Field Detail
-
expression
private volatile java.util.function.Supplier<AlgebraicDataType> expression
-
evaluation
private AlgebraicDataType evaluation
-
-
Constructor Detail
-
Lazy
Lazy(java.util.function.Supplier<AlgebraicDataType> algebraicDataType)
-
-
Method Detail
-
_evaluate
private AlgebraicDataType _evaluate()
-
match
public <R> R match(AlgebraicDataType.Case<R> adt)
- Specified by:
match
in classAlgebraicDataType
-
-