Package org.derive4j.processor
Class StrictConstructorDerivator
- java.lang.Object
-
- org.derive4j.processor.StrictConstructorDerivator
-
-
Field Summary
Fields Modifier and Type Field Description private DeriveUtilsderiveUtilsprivate MapperDerivatormapperDerivatorprivate static java.util.List<java.lang.Integer>PRIMES
-
Constructor Summary
Constructors Constructor Description StrictConstructorDerivator(DeriveUtils deriveUtils)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private DerivedCodeSpecconstructorSpec(AlgebraicDataType adt, DataConstructor constructor)DeriveResult<DerivedCodeSpec>derive(AlgebraicDataType adt)private java.util.Optional<com.squareup.javapoet.MethodSpec>deriveEquals(AlgebraicDataType adt, DataConstructor constructor)private java.util.Optional<com.squareup.javapoet.MethodSpec>deriveHashCode(AlgebraicDataType adt, DataConstructor constructor)private java.util.Optional<com.squareup.javapoet.MethodSpec>deriveToString(AlgebraicDataType adt, DataConstructor constructor)private static java.lang.StringequalityTest(DataArgument da)(package private) java.util.Optional<javax.lang.model.element.ExecutableElement>findAbstractEquals(javax.lang.model.element.TypeElement typeElement)(package private) java.util.Optional<javax.lang.model.element.ExecutableElement>findAbstractHashCode(javax.lang.model.element.TypeElement typeElement)(package private) java.util.Optional<javax.lang.model.element.ExecutableElement>findAbstractToString(javax.lang.model.element.TypeElement typeElement)private static java.lang.Stringhascode(DataArgument da)private booleanneedLambdaVisitorGeneration(AlgebraicDataType adt)(package private) static booleansmartConstructor(DataConstructor constructor, DeriveConfig deriveConfig)private static java.lang.StringtoString(DataArgument da)
-
-
-
Field Detail
-
PRIMES
private static final java.util.List<java.lang.Integer> PRIMES
-
deriveUtils
private final DeriveUtils deriveUtils
-
mapperDerivator
private final MapperDerivator mapperDerivator
-
-
Constructor Detail
-
StrictConstructorDerivator
StrictConstructorDerivator(DeriveUtils deriveUtils)
-
-
Method Detail
-
derive
public DeriveResult<DerivedCodeSpec> derive(AlgebraicDataType adt)
-
findAbstractEquals
java.util.Optional<javax.lang.model.element.ExecutableElement> findAbstractEquals(javax.lang.model.element.TypeElement typeElement)
-
findAbstractToString
java.util.Optional<javax.lang.model.element.ExecutableElement> findAbstractToString(javax.lang.model.element.TypeElement typeElement)
-
findAbstractHashCode
java.util.Optional<javax.lang.model.element.ExecutableElement> findAbstractHashCode(javax.lang.model.element.TypeElement typeElement)
-
deriveHashCode
private java.util.Optional<com.squareup.javapoet.MethodSpec> deriveHashCode(AlgebraicDataType adt, DataConstructor constructor)
-
deriveToString
private java.util.Optional<com.squareup.javapoet.MethodSpec> deriveToString(AlgebraicDataType adt, DataConstructor constructor)
-
deriveEquals
private java.util.Optional<com.squareup.javapoet.MethodSpec> deriveEquals(AlgebraicDataType adt, DataConstructor constructor)
-
constructorSpec
private DerivedCodeSpec constructorSpec(AlgebraicDataType adt, DataConstructor constructor)
-
needLambdaVisitorGeneration
private boolean needLambdaVisitorGeneration(AlgebraicDataType adt)
-
smartConstructor
static boolean smartConstructor(DataConstructor constructor, DeriveConfig deriveConfig)
-
equalityTest
private static java.lang.String equalityTest(DataArgument da)
-
hascode
private static java.lang.String hascode(DataArgument da)
-
toString
private static java.lang.String toString(DataArgument da)
-
-