Module colesico.framework.service
Class ServiceProxyGenerator
- java.lang.Object
-
- colesico.framework.service.codegen.generator.ServiceProxyGenerator
-
public class ServiceProxyGenerator extends Object
Service proxy code generator- Author:
- Vladlen Larionov
-
-
Field Summary
Fields Modifier and Type Field Description protected ProcessorContextcontextstatic StringINTERCEPTORS_CHAIN_VARIABLEstatic StringINV_CONTEXT_VARIABLEstatic StringMETHOD_PARAM_PREFIXprotected TeleFacadesGeneratorteleFacadesGenerator
-
Constructor Summary
Constructors Constructor Description ServiceProxyGenerator(ProcessorContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected colesico.framework.assist.codegen.model.MethodElementfindInjectableConstructor(ServiceElement serviceElement)Finds the constructor that be used for injectionprotected colesico.framework.assist.codegen.model.ParameterElementfindSimilarParam(ProxyFieldElement fieldElm, List<colesico.framework.assist.codegen.model.ParameterElement> constructorParams)Find appropriate similar parameter to avoid duplicate injectionsprotected voidgenerateGetSuperClassMethod(ServiceElement service)protected voidgenerateInvocationContextExec(colesico.framework.assist.codegen.model.MethodElement methodElement, com.squareup.javapoet.MethodSpec.Builder proxyMethodBuilder)protected voidgenerateProxyConstructor(ServiceElement serviceElement, com.squareup.javapoet.TypeSpec.Builder proxyBuilder)protected voidgenerateProxyMethods(ServiceElement serviceElement, com.squareup.javapoet.TypeSpec.Builder proxyBuilder)voidgenerateService(ServiceElement serviceElement)protected InterceptionElementgenerateSuperMethodInterception(colesico.framework.assist.codegen.model.MethodElement proxyMethodElement)
-
-
-
Field Detail
-
METHOD_PARAM_PREFIX
public static final String METHOD_PARAM_PREFIX
- See Also:
- Constant Field Values
-
INTERCEPTORS_CHAIN_VARIABLE
public static final String INTERCEPTORS_CHAIN_VARIABLE
- See Also:
- Constant Field Values
-
INV_CONTEXT_VARIABLE
public static final String INV_CONTEXT_VARIABLE
- See Also:
- Constant Field Values
-
context
protected final ProcessorContext context
-
teleFacadesGenerator
protected final TeleFacadesGenerator teleFacadesGenerator
-
-
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)
-
-