Package org.derive4j.processor.api.model
Class MultipleConstructorsSupport
- java.lang.Object
-
- org.derive4j.processor.api.model.MultipleConstructorsSupport
-
public final class MultipleConstructorsSupport extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMultipleConstructorsSupport.CaseOfMatchersstatic classMultipleConstructorsSupport.CasesMatchersprivate static classMultipleConstructorsSupport.FunctionsDispatchprivate static classMultipleConstructorsSupport.LambdaCases<R>private static classMultipleConstructorsSupport.Lazyprivate static classMultipleConstructorsSupport.VisitorDispatchstatic interfaceMultipleConstructorsSupport.VisitorDispatchMapper<R>
-
Field Summary
Fields Modifier and Type Field Description private static MultipleConstructors.Cases<java.util.List<DataConstructor>>constructorsGetterprivate static MultipleConstructors.Cases<java.util.Optional<javax.lang.model.element.VariableElement>>visitorParamGetterprivate static MultipleConstructors.Cases<java.util.Optional<javax.lang.model.type.DeclaredType>>visitorTypeGetter
-
Constructor Summary
Constructors Modifier Constructor Description privateMultipleConstructorsSupport()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static MultipleConstructorsSupport.CaseOfMatchers.TotalMatcher_VisitorDispatchcaseOf(MultipleConstructors multipleConstructors)static MultipleConstructorsSupport.CasesMatchers.TotalMatcher_VisitorDispatchcases()static <R> MultipleConstructors.Cases<R>cases(MultipleConstructorsSupport.VisitorDispatchMapper<R> visitorDispatch, java.util.function.Function<java.util.List<DataConstructor>,R> functionsDispatch)(package private) static MultipleConstructorsfunctionsDispatch0(java.util.List<DataConstructor> constructors)static java.util.List<DataConstructor>getConstructors(MultipleConstructors multipleConstructors)static java.util.Optional<javax.lang.model.element.VariableElement>getVisitorParam(MultipleConstructors multipleConstructors)static java.util.Optional<javax.lang.model.type.DeclaredType>getVisitorType(MultipleConstructors multipleConstructors)static MultipleConstructorslazy(java.util.function.Supplier<MultipleConstructors> multipleConstructors)(package private) static java.util.function.Function<MultipleConstructors,MultipleConstructors>modConstructors0(java.util.function.Function<java.util.List<DataConstructor>,java.util.List<DataConstructor>> constructorsMod)(package private) static java.util.function.Function<MultipleConstructors,MultipleConstructors>modVisitorParam0(java.util.function.Function<javax.lang.model.element.VariableElement,javax.lang.model.element.VariableElement> visitorParamMod)(package private) static java.util.function.Function<MultipleConstructors,MultipleConstructors>modVisitorType0(java.util.function.Function<javax.lang.model.type.DeclaredType,javax.lang.model.type.DeclaredType> visitorTypeMod)(package private) static java.util.function.Function<MultipleConstructors,MultipleConstructors>setConstructors0(java.util.List<DataConstructor> newConstructors)(package private) static java.util.function.Function<MultipleConstructors,MultipleConstructors>setVisitorParam0(javax.lang.model.element.VariableElement newVisitorParam)(package private) static java.util.function.Function<MultipleConstructors,MultipleConstructors>setVisitorType0(javax.lang.model.type.DeclaredType newVisitorType)(package private) static MultipleConstructorsvisitorDispatch0(javax.lang.model.element.VariableElement visitorParam, javax.lang.model.type.DeclaredType visitorType, java.util.List<DataConstructor> constructors)
-
-
-
Field Detail
-
visitorParamGetter
private static final MultipleConstructors.Cases<java.util.Optional<javax.lang.model.element.VariableElement>> visitorParamGetter
-
visitorTypeGetter
private static final MultipleConstructors.Cases<java.util.Optional<javax.lang.model.type.DeclaredType>> visitorTypeGetter
-
constructorsGetter
private static final MultipleConstructors.Cases<java.util.List<DataConstructor>> constructorsGetter
-
-
Method Detail
-
cases
public static <R> MultipleConstructors.Cases<R> cases(MultipleConstructorsSupport.VisitorDispatchMapper<R> visitorDispatch, java.util.function.Function<java.util.List<DataConstructor>,R> functionsDispatch)
-
visitorDispatch0
static MultipleConstructors visitorDispatch0(javax.lang.model.element.VariableElement visitorParam, javax.lang.model.type.DeclaredType visitorType, java.util.List<DataConstructor> constructors)
-
functionsDispatch0
static MultipleConstructors functionsDispatch0(java.util.List<DataConstructor> constructors)
-
lazy
public static MultipleConstructors lazy(java.util.function.Supplier<MultipleConstructors> multipleConstructors)
-
cases
public static MultipleConstructorsSupport.CasesMatchers.TotalMatcher_VisitorDispatch cases()
-
caseOf
public static MultipleConstructorsSupport.CaseOfMatchers.TotalMatcher_VisitorDispatch caseOf(MultipleConstructors multipleConstructors)
-
getVisitorParam
public static java.util.Optional<javax.lang.model.element.VariableElement> getVisitorParam(MultipleConstructors multipleConstructors)
-
getVisitorType
public static java.util.Optional<javax.lang.model.type.DeclaredType> getVisitorType(MultipleConstructors multipleConstructors)
-
getConstructors
public static java.util.List<DataConstructor> getConstructors(MultipleConstructors multipleConstructors)
-
setVisitorParam0
static java.util.function.Function<MultipleConstructors,MultipleConstructors> setVisitorParam0(javax.lang.model.element.VariableElement newVisitorParam)
-
modVisitorParam0
static java.util.function.Function<MultipleConstructors,MultipleConstructors> modVisitorParam0(java.util.function.Function<javax.lang.model.element.VariableElement,javax.lang.model.element.VariableElement> visitorParamMod)
-
setVisitorType0
static java.util.function.Function<MultipleConstructors,MultipleConstructors> setVisitorType0(javax.lang.model.type.DeclaredType newVisitorType)
-
modVisitorType0
static java.util.function.Function<MultipleConstructors,MultipleConstructors> modVisitorType0(java.util.function.Function<javax.lang.model.type.DeclaredType,javax.lang.model.type.DeclaredType> visitorTypeMod)
-
setConstructors0
static java.util.function.Function<MultipleConstructors,MultipleConstructors> setConstructors0(java.util.List<DataConstructor> newConstructors)
-
modConstructors0
static java.util.function.Function<MultipleConstructors,MultipleConstructors> modConstructors0(java.util.function.Function<java.util.List<DataConstructor>,java.util.List<DataConstructor>> constructorsMod)
-
-