Package org.derive4j.processor.api
Interface DeriveUtils
- All Known Implementing Classes:
DeriveUtilsImpl
public interface DeriveUtils
-
Method Summary
Modifier and TypeMethodDescriptionallAbstractMethods
(TypeElement typeElement) allAbstractMethods
(DeclaredType declaredType) allStaticFields
(TypeElement typeElement) allStaticMethods
(TypeElement typeElement) asDeclaredType
(TypeMirror typeMirror) asTypeElement
(TypeMirror typeMirror) capitalize
(CharSequence string) eitherModel
(Flavour flavour) elements()
findInstance
(TypeElement typeElementContext, com.squareup.javapoet.ClassName typeClassContext, com.squareup.javapoet.ClassName typeClass, TypeElement typeElement, DeclaredType declaredType, List<TypeElement> lowPriorityProviders) findTypeElement
(com.squareup.javapoet.ClassName cn) function0Model
(Flavour flavour) function1Model
(Flavour flavour) generateInstance
(AlgebraicDataType adt, com.squareup.javapoet.ClassName typeClass, List<TypeElement> lowPriorityProviders, Function<InstanceUtils, DerivedCodeSpec> generateInstance) instanceInitializer
(TypeElement typeElementContext, com.squareup.javapoet.ClassName typeClassContext, com.squareup.javapoet.ClassName typeClass, TypeMirror type, List<TypeElement> lowPriorityProviders) boolean
isWildcarded
(TypeMirror typeMirror) com.squareup.javapoet.CodeBlock
lambdaImpl
(DataConstructor constructor, com.squareup.javapoet.CodeBlock impl) com.squareup.javapoet.CodeBlock
lambdaImpl
(DataConstructor constructor, String suffix, com.squareup.javapoet.CodeBlock impl) object()
optionModel
(Flavour flavour) com.squareup.javapoet.MethodSpec.Builder
overrideMethodBuilder
(ExecutableElement abstractMethod, DeclaredType declaredType) com.squareup.javapoet.CodeBlock
parameterList
(DataConstructor constructor) com.squareup.javapoet.CodeBlock
parameterList
(DataConstructor constructor, String suffix) resolve
(DeclaredType declaredType, Function<TypeVariable, Optional<TypeMirror>> typeArgs) resolve
(TypeMirror typeMirror, Function<TypeVariable, Optional<TypeMirror>> typeArgs) resolveFieldInstances
(AlgebraicDataType adt, com.squareup.javapoet.ClassName typeClass, List<TypeElement> lowPriorityProviders) com.squareup.javapoet.TypeName
resolveToTypeName
(TypeMirror typeMirror, Function<TypeVariable, Optional<com.squareup.javapoet.TypeName>> typeArgs) samInterface
(String qualifiedClassName) typeRestrictions
(List<TypeRestriction> typeRestrictions) types()
typeVariablesIn
(TypeMirror typeMirror) uncapitalize
(CharSequence string) unify
(TypeMirror from, TypeMirror to)
-
Method Details
-
types
Types types() -
elements
Elements elements() -
resolveToTypeName
com.squareup.javapoet.TypeName resolveToTypeName(TypeMirror typeMirror, Function<TypeVariable, Optional<com.squareup.javapoet.TypeName>> typeArgs) -
typeRestrictions
Function<TypeVariable,Optional<TypeMirror>> typeRestrictions(List<TypeRestriction> typeRestrictions) -
resolve
-
unify
-
resolve
DeclaredType resolve(DeclaredType declaredType, Function<TypeVariable, Optional<TypeMirror>> typeArgs) -
overrideMethodBuilder
com.squareup.javapoet.MethodSpec.Builder overrideMethodBuilder(ExecutableElement abstractMethod, DeclaredType declaredType) -
typeVariablesIn
-
allAbstractMethods
-
allAbstractMethods
-
allStaticMethods
-
allStaticFields
-
asDeclaredType
-
asTypeElement
-
isWildcarded
-
object
ObjectModel object() -
samInterface
-
function0Model
-
function1Model
-
optionModel
-
eitherModel
-
uncapitalize
-
capitalize
-
findInstance
Optional<InstanceLocation> findInstance(TypeElement typeElementContext, com.squareup.javapoet.ClassName typeClassContext, com.squareup.javapoet.ClassName typeClass, TypeElement typeElement, DeclaredType declaredType, List<TypeElement> lowPriorityProviders) -
instanceInitializer
DeriveResult<BoundExpression> instanceInitializer(TypeElement typeElementContext, com.squareup.javapoet.ClassName typeClassContext, com.squareup.javapoet.ClassName typeClass, TypeMirror type, List<TypeElement> lowPriorityProviders) -
resolveFieldInstances
DeriveResult<FieldsTypeClassInstanceBindingMap> resolveFieldInstances(AlgebraicDataType adt, com.squareup.javapoet.ClassName typeClass, List<TypeElement> lowPriorityProviders) -
lambdaImpl
com.squareup.javapoet.CodeBlock lambdaImpl(DataConstructor constructor, com.squareup.javapoet.CodeBlock impl) -
lambdaImpl
com.squareup.javapoet.CodeBlock lambdaImpl(DataConstructor constructor, String suffix, com.squareup.javapoet.CodeBlock impl) -
generateInstance
DeriveResult<DerivedCodeSpec> generateInstance(AlgebraicDataType adt, com.squareup.javapoet.ClassName typeClass, List<TypeElement> lowPriorityProviders, Function<InstanceUtils, DerivedCodeSpec> generateInstance) -
parameterList
-
parameterList
-
findTypeElement
-