Package org.derive4j.processor
Class MapperDerivator
java.lang.Object
org.derive4j.processor.MapperDerivator
- All Implemented Interfaces:
Derivator
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate DerivedCodeSpec
createVisitorFactoryAndMappers
(AlgebraicDataType adt, DeclaredType acceptedVisitorType, List<DataConstructor> constructors) derive
(AlgebraicDataType adt) (package private) static String
lambdaVisitorClassName
(DeclaredType visitorType) mapperApplyMethod
(DeriveConfig deriveConfig, DataConstructor dc) static String
(package private) static String
com.squareup.javapoet.TypeName
com.squareup.javapoet.TypeName
mapperTypeName
(AlgebraicDataType adt, DataConstructor dc, com.squareup.javapoet.TypeName returnType) com.squareup.javapoet.TypeName
mapperTypeName
(AlgebraicDataType adt, DataConstructor dc, TypeMirror selfReferenceType, com.squareup.javapoet.TypeName returnType) private com.squareup.javapoet.TypeSpec
private Stream
<com.squareup.javapoet.TypeVariableName> static String
com.squareup.javapoet.TypeName
-
Field Details
-
deriveUtils
-
-
Constructor Details
-
MapperDerivator
MapperDerivator(DeriveUtils deriveUtils)
-
-
Method Details
-
mapperFieldName
-
visitorLambdaFactoryName
-
derive
-
mapperApplyMethod
-
mapperTypeName
-
visitorMapperTypeName
public com.squareup.javapoet.TypeName visitorMapperTypeName(AlgebraicDataType adt, DataConstructor dc) -
mapperTypeName
public com.squareup.javapoet.TypeName mapperTypeName(AlgebraicDataType adt, DataConstructor dc, com.squareup.javapoet.TypeName returnType) -
mapperTypeName
public com.squareup.javapoet.TypeName mapperTypeName(AlgebraicDataType adt, DataConstructor dc, TypeMirror selfReferenceType, com.squareup.javapoet.TypeName returnType) -
mapperVariables
-
mapperTypeSpec
-
createVisitorFactoryAndMappers
private DerivedCodeSpec createVisitorFactoryAndMappers(AlgebraicDataType adt, DeclaredType acceptedVisitorType, List<DataConstructor> constructors) -
mapperInterfaceName
-
lambdaVisitorClassName
-