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 class
MultipleConstructorsSupport.CaseOfMatchers
static class
MultipleConstructorsSupport.CasesMatchers
private static class
MultipleConstructorsSupport.FunctionsDispatch
private static class
MultipleConstructorsSupport.LambdaCases<R>
private static class
MultipleConstructorsSupport.Lazy
private static class
MultipleConstructorsSupport.VisitorDispatch
static interface
MultipleConstructorsSupport.VisitorDispatchMapper<R>
-
Field Summary
Fields Modifier and Type Field Description private static MultipleConstructors.Cases<java.util.List<DataConstructor>>
constructorsGetter
private static MultipleConstructors.Cases<java.util.Optional<javax.lang.model.element.VariableElement>>
visitorParamGetter
private static MultipleConstructors.Cases<java.util.Optional<javax.lang.model.type.DeclaredType>>
visitorTypeGetter
-
Constructor Summary
Constructors Modifier Constructor Description private
MultipleConstructorsSupport()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static MultipleConstructorsSupport.CaseOfMatchers.TotalMatcher_VisitorDispatch
caseOf(MultipleConstructors multipleConstructors)
static MultipleConstructorsSupport.CasesMatchers.TotalMatcher_VisitorDispatch
cases()
static <R> MultipleConstructors.Cases<R>
cases(MultipleConstructorsSupport.VisitorDispatchMapper<R> visitorDispatch, java.util.function.Function<java.util.List<DataConstructor>,R> functionsDispatch)
(package private) static MultipleConstructors
functionsDispatch0(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 MultipleConstructors
lazy(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 MultipleConstructors
visitorDispatch0(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)
-
-