public abstract class AbstractSdkOperation extends JavaTemplateEntity implements SdkValueProvidable
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractSdkOperation.MessageOutputType |
static class |
AbstractSdkOperation.ParametersBuilder |
| Modifier and Type | Field and Description |
|---|---|
static String |
ACCEPT_HEADER_NAME |
static String |
ADD_HEADER_METHOD_NAME |
static String |
ADD_QUERY_PARAM_METHOD_NAME |
static String |
ADD_URI_PARAM_METHOD_NAME |
protected List<SdkField> |
allBodyFields |
protected List<SdkParameter> |
allHeaders |
protected List<SdkParameter> |
allQueryParameters |
protected List<SdkParameter> |
allUriParameters |
protected List<SdkParameter> |
auxParameters |
protected SdkContent |
content |
static String |
CONTENT_TYPE_HEADER_NAME |
protected static String |
CUSTOM_PARAMETER_BINDINGS_NAME |
protected com.mulesoft.connectivity.rest.sdk.internal.connectormodel.operation.ConnectorOperation |
operation |
static String |
OPERATION_CLASSNAME_SUFFIX |
static String |
OPERATION_PATH_FIELD |
protected SdkOutputMetadataResolver |
outputMetadataResolver |
static String |
PARAM_DOC_NAME_DESCRIPTION |
protected static String |
PARAMETER_BINDINGS_NAME |
protected SdkResolverTemplate |
sampleDataProvider |
BASE_CLASSNAME_SUFFIX, BASE_PACKAGE_SUFFIX, connectorModel, FIRST_GENERATION_TEMPLATE, IGNORED_OVERRIDE_TEMPLATE, IGNORED_REFINEMENT_TEMPLATE, NAME_MEMBER, outputDir, REFINEMENT_CLASSNAME_SUFFIX, REFINEMENT_PACKAGE_SUFFIX, runConfiguration, VALUE_MEMBER| Constructor and Description |
|---|
AbstractSdkOperation(Path outputDir,
com.mulesoft.connectivity.rest.sdk.internal.connectormodel.ConnectorModel connectorModel,
SdkConnector sdkConnector,
com.mulesoft.connectivity.rest.sdk.internal.connectormodel.operation.ConnectorOperation operation,
RestSdkRunConfiguration runConfiguration) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addSetBodyMethod(com.squareup.javapoet.CodeBlock.Builder methodBody) |
void |
applyTemplates() |
protected SdkContent |
buildContent(Path outputDir,
com.mulesoft.connectivity.rest.sdk.internal.connectormodel.ConnectorModel connectorModel,
SdkConnector sdkConnector,
com.mulesoft.connectivity.rest.sdk.internal.connectormodel.operation.ConnectorOperation operation) |
protected static AbstractSdkOperation.ParametersBuilder |
builder() |
protected void |
configureClassBuilder(com.squareup.javapoet.TypeSpec.Builder operationClassBuilder) |
protected void |
configureJavaFileBuilder(com.squareup.javapoet.JavaFile.Builder javaFileBuilder) |
protected com.squareup.javapoet.CodeBlock |
generateAuxParameterBindings() |
protected com.squareup.javapoet.MethodSpec |
generateBaseMainMethod() |
protected AbstractSdkOperation.ParametersBuilder |
generateBaseMainMethodParameters() |
protected void |
generateCatchStatement(Class exception,
String codeBlock,
com.squareup.javapoet.MethodSpec.Builder methodBody,
Object... args) |
protected org.apache.commons.lang3.tuple.Pair<List<com.squareup.javapoet.ParameterSpec>,com.squareup.javapoet.CodeBlock.Builder> |
generateContentParameters(boolean withAnnotations) |
abstract com.squareup.javapoet.TypeName |
generateMethodReturn() |
protected void |
generateOperationBaseLayer() |
protected com.squareup.javapoet.MethodSpec |
generateOperationBaseMethod() |
protected void |
generateOperationImplementationLayer() |
com.squareup.javapoet.MethodSpec |
generateOperationImplementationMethod() |
com.squareup.javapoet.CodeBlock |
generateOperationImplementationMethodBody(List<com.squareup.javapoet.ParameterSpec> parameters,
com.squareup.javapoet.TypeName typeName) |
protected org.apache.commons.lang3.tuple.Pair<List<com.squareup.javapoet.ParameterSpec>,com.squareup.javapoet.CodeBlock.Builder> |
generateOperationImplementationMethodParameters() |
protected void |
generateOperationInterceptorLayer() |
com.squareup.javapoet.CodeBlock |
generateOperationMainCall(com.squareup.javapoet.TypeName returnType) |
protected List<String> |
generateOperationMainCallParameters() |
abstract com.squareup.javapoet.CodeBlock |
generateOperationMethodBaseMainBody() |
protected void |
generateOperationMethodsFlow(com.squareup.javapoet.TypeSpec.Builder operationClassBuilder) |
protected List<SdkParameter> |
generateQueryParameters() |
com.squareup.javapoet.CodeBlock |
generateRestRequestBuilder() |
protected void |
generateTryStatement(com.squareup.javapoet.MethodSpec.Builder methodBody,
boolean start) |
List<SdkField> |
getAllBodyFields() |
List<SdkParameter> |
getAllParameters()
Returns all the parameters of this operation (URI + QUERY + HEADER)
|
String |
getBasePackage() |
com.mulesoft.connectivity.rest.sdk.internal.connectormodel.operation.ConnectorOperation |
getConnectorOperation() |
String |
getInterceptorPackage() |
String |
getJavaBaseClassName() |
String |
getJavaClassName() |
String |
getJavaInterceptorClassName() |
protected String |
getJavaMethodName() |
protected AbstractSdkOperation.MessageOutputType |
getMessageOutputType()
Utility method to encapsulate how the "return" type (or the output of the current operation's types) is calculated
|
com.mulesoft.connectivity.rest.sdk.internal.connectormodel.operation.ConnectorOperation |
getOperation() |
String |
getPackage() |
protected com.squareup.javapoet.CodeBlock |
getParameterValueStatement(SdkParameter parameter) |
protected Class<? extends com.mulesoft.connectivity.rest.commons.api.operation.BaseRestOperation> |
getSuperclass() |
protected boolean |
hasOutput() |
protected boolean |
isQueryParamDefinedInPagination(String paramName) |
protected boolean |
isVoidOperation() |
protected boolean |
operationMethodRequiresBody() |
protected boolean |
requiresMediaTypeAnnotation() |
protected boolean |
returnNullOnNotFoundError() |
protected com.squareup.javapoet.CodeBlock |
toCursorProviderMapCodeBlock(String... localVariables) |
generateOptionalGetter, getArgumentsFromValueProvider, getArgumentsFromValueProviderDefinition, getConstantStringField, getConstantStringField, getJavaFileBuilderForClass, getJavaType, getResourcesPath, getSourcesPath, getValueProviderAnnotation, writeClassToFile, writeClassToFile, writeJavaFile, writeJavaFilegetTemplateEnginepublic static final String PARAM_DOC_NAME_DESCRIPTION
public static final String CONTENT_TYPE_HEADER_NAME
public static final String ACCEPT_HEADER_NAME
public static final String ADD_URI_PARAM_METHOD_NAME
public static final String ADD_QUERY_PARAM_METHOD_NAME
public static final String ADD_HEADER_METHOD_NAME
public static final String OPERATION_PATH_FIELD
protected static final String PARAMETER_BINDINGS_NAME
protected static final String CUSTOM_PARAMETER_BINDINGS_NAME
public static final String OPERATION_CLASSNAME_SUFFIX
protected final com.mulesoft.connectivity.rest.sdk.internal.connectormodel.operation.ConnectorOperation operation
protected final List<SdkParameter> allUriParameters
protected final List<SdkParameter> allQueryParameters
protected final List<SdkParameter> allHeaders
protected final List<SdkParameter> auxParameters
protected final SdkContent content
protected final SdkOutputMetadataResolver outputMetadataResolver
protected final SdkResolverTemplate sampleDataProvider
public AbstractSdkOperation(Path outputDir, com.mulesoft.connectivity.rest.sdk.internal.connectormodel.ConnectorModel connectorModel, SdkConnector sdkConnector, com.mulesoft.connectivity.rest.sdk.internal.connectormodel.operation.ConnectorOperation operation, RestSdkRunConfiguration runConfiguration) throws TemplatingException
TemplatingExceptionpublic abstract com.squareup.javapoet.TypeName generateMethodReturn()
public abstract com.squareup.javapoet.CodeBlock generateOperationMethodBaseMainBody()
throws TemplatingException
TemplatingExceptionpublic com.mulesoft.connectivity.rest.sdk.internal.connectormodel.operation.ConnectorOperation getOperation()
protected com.squareup.javapoet.CodeBlock toCursorProviderMapCodeBlock(String... localVariables)
protected SdkContent buildContent(Path outputDir, com.mulesoft.connectivity.rest.sdk.internal.connectormodel.ConnectorModel connectorModel, SdkConnector sdkConnector, com.mulesoft.connectivity.rest.sdk.internal.connectormodel.operation.ConnectorOperation operation) throws TemplatingException
TemplatingExceptionpublic String getJavaClassName()
getJavaClassName in interface SdkValueProvidablepublic String getJavaBaseClassName()
public String getJavaInterceptorClassName()
protected String getJavaMethodName()
public String getPackage()
public String getInterceptorPackage()
public String getBasePackage()
public void applyTemplates()
throws TemplatingException
applyTemplates in class TemplateEntityTemplatingExceptionprotected void generateOperationImplementationLayer()
throws TemplatingException
TemplatingExceptionprotected void generateOperationInterceptorLayer()
throws TemplatingException
TemplatingExceptionprotected void generateOperationMethodsFlow(com.squareup.javapoet.TypeSpec.Builder operationClassBuilder)
throws TemplatingException
TemplatingExceptionprotected void generateOperationBaseLayer()
throws TemplatingException
TemplatingExceptionprotected void configureJavaFileBuilder(com.squareup.javapoet.JavaFile.Builder javaFileBuilder)
protected void configureClassBuilder(com.squareup.javapoet.TypeSpec.Builder operationClassBuilder)
protected Class<? extends com.mulesoft.connectivity.rest.commons.api.operation.BaseRestOperation> getSuperclass()
protected org.apache.commons.lang3.tuple.Pair<List<com.squareup.javapoet.ParameterSpec>,com.squareup.javapoet.CodeBlock.Builder> generateOperationImplementationMethodParameters()
public com.squareup.javapoet.MethodSpec generateOperationImplementationMethod()
throws TemplatingException
TemplatingExceptionpublic com.squareup.javapoet.CodeBlock generateOperationMainCall(com.squareup.javapoet.TypeName returnType)
protected com.squareup.javapoet.MethodSpec generateOperationBaseMethod()
throws TemplatingException
TemplatingExceptionprotected org.apache.commons.lang3.tuple.Pair<List<com.squareup.javapoet.ParameterSpec>,com.squareup.javapoet.CodeBlock.Builder> generateContentParameters(boolean withAnnotations)
protected boolean isQueryParamDefinedInPagination(String paramName)
public com.squareup.javapoet.CodeBlock generateOperationImplementationMethodBody(List<com.squareup.javapoet.ParameterSpec> parameters, com.squareup.javapoet.TypeName typeName) throws TemplatingException
TemplatingExceptionprotected void generateTryStatement(com.squareup.javapoet.MethodSpec.Builder methodBody,
boolean start)
protected void generateCatchStatement(Class exception, String codeBlock, com.squareup.javapoet.MethodSpec.Builder methodBody, Object... args)
public com.squareup.javapoet.CodeBlock generateRestRequestBuilder()
protected void addSetBodyMethod(com.squareup.javapoet.CodeBlock.Builder methodBody)
protected com.squareup.javapoet.CodeBlock getParameterValueStatement(SdkParameter parameter)
protected boolean returnNullOnNotFoundError()
protected AbstractSdkOperation.MessageOutputType getMessageOutputType()
protected boolean operationMethodRequiresBody()
protected boolean isVoidOperation()
protected boolean requiresMediaTypeAnnotation()
protected boolean hasOutput()
public List<SdkParameter> getAllParameters()
getAllParameters in interface SdkValueProvidablepublic com.mulesoft.connectivity.rest.sdk.internal.connectormodel.operation.ConnectorOperation getConnectorOperation()
protected List<SdkParameter> generateQueryParameters()
protected com.squareup.javapoet.CodeBlock generateAuxParameterBindings()
protected AbstractSdkOperation.ParametersBuilder generateBaseMainMethodParameters()
protected com.squareup.javapoet.MethodSpec generateBaseMainMethod()
throws TemplatingException
TemplatingExceptionprotected static AbstractSdkOperation.ParametersBuilder builder()
Copyright © 2022. All rights reserved.