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)
      • samInterface

        java.util.Optional<SamInterface> samInterface​(java.lang.String qualifiedClassName)
      • 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)
      • 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)
      • 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)