Package org.derive4j.processor
Class MapperDerivator
- java.lang.Object
-
- org.derive4j.processor.MapperDerivator
-
-
Field Summary
Fields Modifier and Type Field Description private DeriveUtils
deriveUtils
-
Constructor Summary
Constructors Constructor Description MapperDerivator(DeriveUtils deriveUtils)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private DerivedCodeSpec
createVisitorFactoryAndMappers(AlgebraicDataType adt, javax.lang.model.type.DeclaredType acceptedVisitorType, java.util.List<DataConstructor> constructors)
DeriveResult<DerivedCodeSpec>
derive(AlgebraicDataType adt)
(package private) static java.lang.String
lambdaVisitorClassName(javax.lang.model.type.DeclaredType visitorType)
java.lang.String
mapperApplyMethod(DeriveConfig deriveConfig, DataConstructor dc)
static java.lang.String
mapperFieldName(DataConstructor dc)
(package private) static java.lang.String
mapperInterfaceName(DataConstructor dc)
com.squareup.javapoet.TypeName
mapperTypeName(AlgebraicDataType adt, DataConstructor dc)
com.squareup.javapoet.TypeName
mapperTypeName(AlgebraicDataType adt, DataConstructor dc, com.squareup.javapoet.TypeName returnType)
com.squareup.javapoet.TypeName
mapperTypeName(AlgebraicDataType adt, DataConstructor dc, javax.lang.model.type.TypeMirror selfReferenceType, com.squareup.javapoet.TypeName returnType)
private com.squareup.javapoet.TypeSpec
mapperTypeSpec(DataConstructor dc)
private java.util.stream.Stream<com.squareup.javapoet.TypeVariableName>
mapperVariables(DataConstructor dc)
static java.lang.String
visitorLambdaFactoryName(AlgebraicDataType adt)
com.squareup.javapoet.TypeName
visitorMapperTypeName(AlgebraicDataType adt, DataConstructor dc)
-
-
-
Field Detail
-
deriveUtils
private final DeriveUtils deriveUtils
-
-
Constructor Detail
-
MapperDerivator
MapperDerivator(DeriveUtils deriveUtils)
-
-
Method Detail
-
mapperFieldName
public static java.lang.String mapperFieldName(DataConstructor dc)
-
visitorLambdaFactoryName
public static java.lang.String visitorLambdaFactoryName(AlgebraicDataType adt)
-
derive
public DeriveResult<DerivedCodeSpec> derive(AlgebraicDataType adt)
-
mapperApplyMethod
public java.lang.String mapperApplyMethod(DeriveConfig deriveConfig, DataConstructor dc)
-
mapperTypeName
public com.squareup.javapoet.TypeName mapperTypeName(AlgebraicDataType adt, DataConstructor dc)
-
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, javax.lang.model.type.TypeMirror selfReferenceType, com.squareup.javapoet.TypeName returnType)
-
mapperVariables
private java.util.stream.Stream<com.squareup.javapoet.TypeVariableName> mapperVariables(DataConstructor dc)
-
mapperTypeSpec
private com.squareup.javapoet.TypeSpec mapperTypeSpec(DataConstructor dc)
-
createVisitorFactoryAndMappers
private DerivedCodeSpec createVisitorFactoryAndMappers(AlgebraicDataType adt, javax.lang.model.type.DeclaredType acceptedVisitorType, java.util.List<DataConstructor> constructors)
-
mapperInterfaceName
static java.lang.String mapperInterfaceName(DataConstructor dc)
-
lambdaVisitorClassName
static java.lang.String lambdaVisitorClassName(javax.lang.model.type.DeclaredType visitorType)
-
-