Class ServiceProxyGenerator


  • public class ServiceProxyGenerator
    extends Object
    Service proxy code generator
    Author:
    Vladlen Larionov
    • Constructor Detail

      • ServiceProxyGenerator

        public ServiceProxyGenerator​(ProcessorContext context)
    • Method Detail

      • findInjectableConstructor

        protected colesico.framework.assist.codegen.model.MethodElement findInjectableConstructor​(ServiceElement serviceElement)
        Finds the constructor that be used for injection
        Returns:
      • findSimilarParam

        protected colesico.framework.assist.codegen.model.ParameterElement findSimilarParam​(ProxyFieldElement fieldElm,
                                                                                            List<colesico.framework.assist.codegen.model.ParameterElement> constructorParams)
        Find appropriate similar parameter to avoid duplicate injections
        Parameters:
        fieldElm -
        constructorParams -
        Returns:
      • generateProxyConstructor

        protected void generateProxyConstructor​(ServiceElement serviceElement,
                                                com.squareup.javapoet.TypeSpec.Builder proxyBuilder)
      • generateGetSuperClassMethod

        protected void generateGetSuperClassMethod​(ServiceElement service)
      • generateSuperMethodInterception

        protected InterceptionElement generateSuperMethodInterception​(colesico.framework.assist.codegen.model.MethodElement proxyMethodElement)
      • generateInvocationContextExec

        protected void generateInvocationContextExec​(colesico.framework.assist.codegen.model.MethodElement methodElement,
                                                     com.squareup.javapoet.MethodSpec.Builder proxyMethodBuilder)
      • generateProxyMethods

        protected void generateProxyMethods​(ServiceElement serviceElement,
                                            com.squareup.javapoet.TypeSpec.Builder proxyBuilder)
      • generateService

        public void generateService​(ServiceElement serviceElement)