Package org.derive4j.processor.api.model
Class AlgebraicDataTypes
- java.lang.Object
-
- org.derive4j.processor.api.model.AlgebraicDataTypes
-
public final class AlgebraicDataTypes extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classAlgebraicDataTypes.Adtstatic classAlgebraicDataTypes.CasesMatchersprivate static classAlgebraicDataTypes.Lazy
-
Constructor Summary
Constructors Modifier Constructor Description privateAlgebraicDataTypes()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static AlgebraicDataTypeadt(DeriveConfig deriveConfig, TypeConstructor typeConstructor, MatchMethod matchMethod, DataConstruction dataConstruction, java.util.List<DataArgument> fields)static AlgebraicDataTypes.CasesMatchers.TotalMatcher_Adtcases()static DataConstructiongetDataConstruction(AlgebraicDataType algebraicDataType)static DeriveConfiggetDeriveConfig(AlgebraicDataType algebraicDataType)static java.util.List<DataArgument>getFields(AlgebraicDataType algebraicDataType)static MatchMethodgetMatchMethod(AlgebraicDataType algebraicDataType)static TypeConstructorgetTypeConstructor(AlgebraicDataType algebraicDataType)static AlgebraicDataTypelazy(java.util.function.Supplier<AlgebraicDataType> algebraicDataType)static java.util.function.Function<AlgebraicDataType,AlgebraicDataType>modDataConstruction(java.util.function.Function<DataConstruction,DataConstruction> dataConstructionMod)static java.util.function.Function<AlgebraicDataType,AlgebraicDataType>modDeriveConfig(java.util.function.Function<DeriveConfig,DeriveConfig> deriveConfigMod)static java.util.function.Function<AlgebraicDataType,AlgebraicDataType>modFields(java.util.function.Function<java.util.List<DataArgument>,java.util.List<DataArgument>> fieldsMod)static java.util.function.Function<AlgebraicDataType,AlgebraicDataType>modMatchMethod(java.util.function.Function<MatchMethod,MatchMethod> matchMethodMod)static java.util.function.Function<AlgebraicDataType,AlgebraicDataType>modTypeConstructor(java.util.function.Function<TypeConstructor,TypeConstructor> typeConstructorMod)static java.util.function.Function<AlgebraicDataType,AlgebraicDataType>setDataConstruction(DataConstruction newDataConstruction)static java.util.function.Function<AlgebraicDataType,AlgebraicDataType>setDeriveConfig(DeriveConfig newDeriveConfig)static java.util.function.Function<AlgebraicDataType,AlgebraicDataType>setFields(java.util.List<DataArgument> newFields)static java.util.function.Function<AlgebraicDataType,AlgebraicDataType>setMatchMethod(MatchMethod newMatchMethod)static java.util.function.Function<AlgebraicDataType,AlgebraicDataType>setTypeConstructor(TypeConstructor newTypeConstructor)
-
-
-
Method Detail
-
adt
public static AlgebraicDataType adt(DeriveConfig deriveConfig, TypeConstructor typeConstructor, MatchMethod matchMethod, DataConstruction dataConstruction, java.util.List<DataArgument> fields)
-
lazy
public static AlgebraicDataType lazy(java.util.function.Supplier<AlgebraicDataType> algebraicDataType)
-
cases
public static AlgebraicDataTypes.CasesMatchers.TotalMatcher_Adt cases()
-
getDeriveConfig
public static DeriveConfig getDeriveConfig(AlgebraicDataType algebraicDataType)
-
getTypeConstructor
public static TypeConstructor getTypeConstructor(AlgebraicDataType algebraicDataType)
-
getMatchMethod
public static MatchMethod getMatchMethod(AlgebraicDataType algebraicDataType)
-
getDataConstruction
public static DataConstruction getDataConstruction(AlgebraicDataType algebraicDataType)
-
getFields
public static java.util.List<DataArgument> getFields(AlgebraicDataType algebraicDataType)
-
setDeriveConfig
public static java.util.function.Function<AlgebraicDataType,AlgebraicDataType> setDeriveConfig(DeriveConfig newDeriveConfig)
-
modDeriveConfig
public static java.util.function.Function<AlgebraicDataType,AlgebraicDataType> modDeriveConfig(java.util.function.Function<DeriveConfig,DeriveConfig> deriveConfigMod)
-
setTypeConstructor
public static java.util.function.Function<AlgebraicDataType,AlgebraicDataType> setTypeConstructor(TypeConstructor newTypeConstructor)
-
modTypeConstructor
public static java.util.function.Function<AlgebraicDataType,AlgebraicDataType> modTypeConstructor(java.util.function.Function<TypeConstructor,TypeConstructor> typeConstructorMod)
-
setMatchMethod
public static java.util.function.Function<AlgebraicDataType,AlgebraicDataType> setMatchMethod(MatchMethod newMatchMethod)
-
modMatchMethod
public static java.util.function.Function<AlgebraicDataType,AlgebraicDataType> modMatchMethod(java.util.function.Function<MatchMethod,MatchMethod> matchMethodMod)
-
setDataConstruction
public static java.util.function.Function<AlgebraicDataType,AlgebraicDataType> setDataConstruction(DataConstruction newDataConstruction)
-
modDataConstruction
public static java.util.function.Function<AlgebraicDataType,AlgebraicDataType> modDataConstruction(java.util.function.Function<DataConstruction,DataConstruction> dataConstructionMod)
-
setFields
public static java.util.function.Function<AlgebraicDataType,AlgebraicDataType> setFields(java.util.List<DataArgument> newFields)
-
modFields
public static java.util.function.Function<AlgebraicDataType,AlgebraicDataType> modFields(java.util.function.Function<java.util.List<DataArgument>,java.util.List<DataArgument>> fieldsMod)
-
-