Package org.derive4j.processor
Class MapperDerivator
- java.lang.Object
-
- org.derive4j.processor.MapperDerivator
-
-
Field Summary
Fields Modifier and Type Field Description private DeriveUtilsderiveUtils
-
Constructor Summary
Constructors Constructor Description MapperDerivator(DeriveUtils deriveUtils)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private DerivedCodeSpeccreateVisitorFactoryAndMappers(AlgebraicDataType adt, javax.lang.model.type.DeclaredType acceptedVisitorType, java.util.List<DataConstructor> constructors)DeriveResult<DerivedCodeSpec>derive(AlgebraicDataType adt)(package private) static java.lang.StringlambdaVisitorClassName(javax.lang.model.type.DeclaredType visitorType)java.lang.StringmapperApplyMethod(DeriveConfig deriveConfig, DataConstructor dc)static java.lang.StringmapperFieldName(DataConstructor dc)(package private) static java.lang.StringmapperInterfaceName(DataConstructor dc)com.squareup.javapoet.TypeNamemapperTypeName(AlgebraicDataType adt, DataConstructor dc)com.squareup.javapoet.TypeNamemapperTypeName(AlgebraicDataType adt, DataConstructor dc, com.squareup.javapoet.TypeName returnType)com.squareup.javapoet.TypeNamemapperTypeName(AlgebraicDataType adt, DataConstructor dc, javax.lang.model.type.TypeMirror selfReferenceType, com.squareup.javapoet.TypeName returnType)private com.squareup.javapoet.TypeSpecmapperTypeSpec(DataConstructor dc)private java.util.stream.Stream<com.squareup.javapoet.TypeVariableName>mapperVariables(DataConstructor dc)static java.lang.StringvisitorLambdaFactoryName(AlgebraicDataType adt)com.squareup.javapoet.TypeNamevisitorMapperTypeName(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)
-
-