Package org.derive4j.processor
Class GettersDerivator
- java.lang.Object
-
- org.derive4j.processor.GettersDerivator
-
-
Field Summary
Fields Modifier and Type Field Description private DeriveUtilsderiveUtils
-
Constructor Summary
Constructors Constructor Description GettersDerivator(DeriveUtils deriveUtils)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.lang.StringasParameterName(AlgebraicDataType adt)DeriveResult<DerivedCodeSpec>derive(AlgebraicDataType adt)private DerivedCodeSpecderiveGetter(DataArgument field, AlgebraicDataType adt)private static DerivedCodeSpecfunctionsDispatchLensGetterImpl(AlgebraicDataType adt, java.lang.String arg, DataArgument field)private static DerivedCodeSpecfunctionsDispatchOptionalGetterImpl(OptionModel optionModel, AlgebraicDataType adt, java.lang.String arg, java.util.List<DataConstructor> constructors, DataArgument field, javax.lang.model.type.DeclaredType returnType)private DerivedCodeSpecgenerateLensGetter(DataArgument field, AlgebraicDataType adt)private DerivedCodeSpecgenerateOptionalGetter(DataArgument field, AlgebraicDataType adt)private static com.squareup.javapoet.MethodSpec.BuildergetterBuilder(AlgebraicDataType adt, java.lang.String arg, DataArgument field, javax.lang.model.type.TypeMirror type)private static booleanisLens(DataArgument field, java.util.List<DataConstructor> constructors)private static java.lang.StringlensGetterLambda(java.lang.String arg, AlgebraicDataType adt, DataArgument field)private static com.squareup.javapoet.CodeBlockoptionalGetterLambdas(java.lang.String arg, OptionModel optionModel, java.util.List<DataConstructor> constructors, DataArgument field)private DerivedCodeSpecvisitorDispatchLensGetterImpl(AlgebraicDataType adt, java.lang.String arg, javax.lang.model.type.DeclaredType visitorType, DataArgument field)private DerivedCodeSpecvisitorDispatchOptionalGetterImpl(OptionModel optionModel, AlgebraicDataType adt, javax.lang.model.type.DeclaredType visitorType, java.util.List<DataConstructor> constructors, java.lang.String arg, DataArgument field, javax.lang.model.type.DeclaredType returnType)
-
-
-
Field Detail
-
deriveUtils
private final DeriveUtils deriveUtils
-
-
Constructor Detail
-
GettersDerivator
GettersDerivator(DeriveUtils deriveUtils)
-
-
Method Detail
-
derive
public DeriveResult<DerivedCodeSpec> derive(AlgebraicDataType adt)
-
deriveGetter
private DerivedCodeSpec deriveGetter(DataArgument field, AlgebraicDataType adt)
-
generateOptionalGetter
private DerivedCodeSpec generateOptionalGetter(DataArgument field, AlgebraicDataType adt)
-
visitorDispatchOptionalGetterImpl
private DerivedCodeSpec visitorDispatchOptionalGetterImpl(OptionModel optionModel, AlgebraicDataType adt, javax.lang.model.type.DeclaredType visitorType, java.util.List<DataConstructor> constructors, java.lang.String arg, DataArgument field, javax.lang.model.type.DeclaredType returnType)
-
generateLensGetter
private DerivedCodeSpec generateLensGetter(DataArgument field, AlgebraicDataType adt)
-
visitorDispatchLensGetterImpl
private DerivedCodeSpec visitorDispatchLensGetterImpl(AlgebraicDataType adt, java.lang.String arg, javax.lang.model.type.DeclaredType visitorType, DataArgument field)
-
functionsDispatchOptionalGetterImpl
private static DerivedCodeSpec functionsDispatchOptionalGetterImpl(OptionModel optionModel, AlgebraicDataType adt, java.lang.String arg, java.util.List<DataConstructor> constructors, DataArgument field, javax.lang.model.type.DeclaredType returnType)
-
getterBuilder
private static com.squareup.javapoet.MethodSpec.Builder getterBuilder(AlgebraicDataType adt, java.lang.String arg, DataArgument field, javax.lang.model.type.TypeMirror type)
-
optionalGetterLambdas
private static com.squareup.javapoet.CodeBlock optionalGetterLambdas(java.lang.String arg, OptionModel optionModel, java.util.List<DataConstructor> constructors, DataArgument field)
-
functionsDispatchLensGetterImpl
private static DerivedCodeSpec functionsDispatchLensGetterImpl(AlgebraicDataType adt, java.lang.String arg, DataArgument field)
-
lensGetterLambda
private static java.lang.String lensGetterLambda(java.lang.String arg, AlgebraicDataType adt, DataArgument field)
-
asParameterName
private static java.lang.String asParameterName(AlgebraicDataType adt)
-
isLens
private static boolean isLens(DataArgument field, java.util.List<DataConstructor> constructors)
-
-