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.Stringcapitalize(java.lang.CharSequence string)java.util.Optional<EitherModel>eitherModel(Flavour flavour)javax.lang.model.util.Elementselements()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)SamInterfacefunction0Model(Flavour flavour)SamInterfacefunction1Model(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)booleanisWildcarded(javax.lang.model.type.TypeMirror typeMirror)com.squareup.javapoet.CodeBlocklambdaImpl(DataConstructor constructor, com.squareup.javapoet.CodeBlock impl)com.squareup.javapoet.CodeBlocklambdaImpl(DataConstructor constructor, java.lang.String suffix, com.squareup.javapoet.CodeBlock impl)ObjectModelobject()OptionModeloptionModel(Flavour flavour)com.squareup.javapoet.MethodSpec.BuilderoverrideMethodBuilder(javax.lang.model.element.ExecutableElement abstractMethod, javax.lang.model.type.DeclaredType declaredType)com.squareup.javapoet.CodeBlockparameterList(DataConstructor constructor)com.squareup.javapoet.CodeBlockparameterList(DataConstructor constructor, java.lang.String suffix)javax.lang.model.type.DeclaredTyperesolve(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.TypeMirrorresolve(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.TypeNameresolveToTypeName(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.Typestypes()java.util.List<javax.lang.model.type.TypeVariable>typeVariablesIn(javax.lang.model.type.TypeMirror typeMirror)java.lang.Stringuncapitalize(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)
-
-