public abstract class AbstractSdkOperation extends JavaTemplateEntity implements SdkValueProvidable
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractSdkOperation.MessageOutputType |
static class |
AbstractSdkOperation.ParametersBuilder |
BASE_CLASSNAME_SUFFIX, BASE_PACKAGE_SUFFIX, connectorModel, FIRST_GENERATION_TEMPLATE, IGNORED_OVERRIDE_TEMPLATE, IGNORED_REFINEMENT_TEMPLATE, NAME_MEMBER, outputDir, PAYLOAD_BINDING, PAYLOAD_DOT_BINDING, 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 |
addContentTypeHeader(com.squareup.javapoet.CodeBlock.Builder methodBody) |
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) |
protected void |
generateInstanceMethods(com.squareup.javapoet.TypeSpec.Builder builder) |
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 com.squareup.javapoet.CodeBlock |
generateRestRequestBuilderInitialization(String baseUriString) |
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)
|
protected String |
getBaseMainMethodName() |
String |
getBasePackage() |
protected String |
getBaseUriString() |
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 com.mulesoft.connectivity.rest.sdk.internal.connectormodel.type.TypeDefinition |
getTypeDefinition(com.mulesoft.connectivity.rest.sdk.internal.connectormodel.generic.ParameterDataType parameterDataType) |
protected boolean |
hasOutput() |
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
protected static final String QUERY_PARAM_FORMAT_FIELD
public static final String OPERATION_PATH_FIELD
protected static final String QUERY_PARAMS_MAP
protected static final String URI_PARAMS_MAP
protected static final String HEADER_PARAMS_MAP
protected static final String PARAMETER_BINDINGS_NAME
protected static final String CUSTOM_PARAMETER_BINDINGS_NAME
protected static final String EXPRESSION_LANGUAGE
protected static final String REQUEST_BINDINGS_NAME
protected static final String GET_QUERY_PARAMS
protected static final String GET_URI_PARAMS
protected static final String GET_HEADER_PARAMS
public static final String OPERATION_CLASSNAME_SUFFIX
public static final String OPERATION_PACKAGE
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 SdkMetadataResolver outputMetadataResolver
protected final SdkResolverTemplate sampleDataProvider
protected static final String GET_REQUEST_BUILDER_WITH_BINDINGS_METHOD
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
TemplatingExceptionprotected com.mulesoft.connectivity.rest.sdk.internal.connectormodel.type.TypeDefinition getTypeDefinition(com.mulesoft.connectivity.rest.sdk.internal.connectormodel.generic.ParameterDataType parameterDataType)
public 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 generateInstanceMethods(com.squareup.javapoet.TypeSpec.Builder builder)
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)
public 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)
protected String getBaseUriString()
public com.squareup.javapoet.CodeBlock generateRestRequestBuilder()
protected void addContentTypeHeader(com.squareup.javapoet.CodeBlock.Builder methodBody)
protected com.squareup.javapoet.CodeBlock generateRestRequestBuilderInitialization(String baseUriString)
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 String getBaseMainMethodName()
protected AbstractSdkOperation.ParametersBuilder generateBaseMainMethodParameters()
protected com.squareup.javapoet.MethodSpec generateBaseMainMethod()
throws TemplatingException
TemplatingExceptionprotected static AbstractSdkOperation.ParametersBuilder builder()
Copyright © 2023. All rights reserved.