Package org.derive4j.processor
Class StrictConstructorDerivator
- java.lang.Object
-
- org.derive4j.processor.StrictConstructorDerivator
-
-
Field Summary
Fields Modifier and Type Field Description private DeriveUtils
deriveUtils
private MapperDerivator
mapperDerivator
private 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 DerivedCodeSpec
constructorSpec(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.String
equalityTest(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.String
hascode(DataArgument da)
private boolean
needLambdaVisitorGeneration(AlgebraicDataType adt)
(package private) static boolean
smartConstructor(DataConstructor constructor, DeriveConfig deriveConfig)
private static java.lang.String
toString(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)
-
-