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