Package org.derive4j.processor
Class GettersDerivator
java.lang.Object
org.derive4j.processor.GettersDerivator
- All Implemented Interfaces:
Derivator
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static String
derive
(AlgebraicDataType adt) private DerivedCodeSpec
deriveGetter
(DataArgument field, AlgebraicDataType adt) private static DerivedCodeSpec
functionsDispatchLensGetterImpl
(AlgebraicDataType adt, String arg, DataArgument field) private static DerivedCodeSpec
functionsDispatchOptionalGetterImpl
(OptionModel optionModel, AlgebraicDataType adt, String arg, List<DataConstructor> constructors, DataArgument field, DeclaredType returnType) private DerivedCodeSpec
generateLensGetter
(DataArgument field, AlgebraicDataType adt) private DerivedCodeSpec
generateOptionalGetter
(DataArgument field, AlgebraicDataType adt) private static com.squareup.javapoet.MethodSpec.Builder
getterBuilder
(AlgebraicDataType adt, String arg, DataArgument field, TypeMirror type) private static boolean
isLens
(DataArgument field, List<DataConstructor> constructors) private static String
lensGetterLambda
(String arg, AlgebraicDataType adt, DataArgument field) private static com.squareup.javapoet.CodeBlock
optionalGetterLambdas
(String arg, OptionModel optionModel, List<DataConstructor> constructors, DataArgument field) private DerivedCodeSpec
visitorDispatchLensGetterImpl
(AlgebraicDataType adt, String arg, DeclaredType visitorType, DataArgument field) private DerivedCodeSpec
visitorDispatchOptionalGetterImpl
(OptionModel optionModel, AlgebraicDataType adt, DeclaredType visitorType, List<DataConstructor> constructors, String arg, DataArgument field, DeclaredType returnType)
-
Field Details
-
deriveUtils
-
-
Constructor Details
-
GettersDerivator
GettersDerivator(DeriveUtils deriveUtils)
-
-
Method Details
-
derive
-
deriveGetter
-
generateOptionalGetter
-
visitorDispatchOptionalGetterImpl
private DerivedCodeSpec visitorDispatchOptionalGetterImpl(OptionModel optionModel, AlgebraicDataType adt, DeclaredType visitorType, List<DataConstructor> constructors, String arg, DataArgument field, DeclaredType returnType) -
generateLensGetter
-
visitorDispatchLensGetterImpl
private DerivedCodeSpec visitorDispatchLensGetterImpl(AlgebraicDataType adt, String arg, DeclaredType visitorType, DataArgument field) -
functionsDispatchOptionalGetterImpl
private static DerivedCodeSpec functionsDispatchOptionalGetterImpl(OptionModel optionModel, AlgebraicDataType adt, String arg, List<DataConstructor> constructors, DataArgument field, DeclaredType returnType) -
getterBuilder
private static com.squareup.javapoet.MethodSpec.Builder getterBuilder(AlgebraicDataType adt, String arg, DataArgument field, TypeMirror type) -
optionalGetterLambdas
private static com.squareup.javapoet.CodeBlock optionalGetterLambdas(String arg, OptionModel optionModel, List<DataConstructor> constructors, DataArgument field) -
functionsDispatchLensGetterImpl
private static DerivedCodeSpec functionsDispatchLensGetterImpl(AlgebraicDataType adt, String arg, DataArgument field) -
lensGetterLambda
-
asParameterName
-
isLens
-