github.com/phrase/openapi@v0.0.0-20240514140800-49e8a106740e/openapi-generator/templates/java/libraries/vertx/apiImpl.mustache (about)

     1  package {{package}};
     2  
     3  {{#imports}}import {{import}};
     4  {{/imports}}
     5  
     6  import io.vertx.core.AsyncResult;
     7  import io.vertx.core.Handler;
     8  import io.vertx.core.MultiMap;
     9  import io.vertx.core.json.JsonObject;
    10  
    11  import com.fasterxml.jackson.core.type.TypeReference;
    12  
    13  import java.util.*;
    14  
    15  import {{invokerPackage}}.ApiClient;
    16  import {{invokerPackage}}.ApiException;
    17  import {{invokerPackage}}.Configuration;
    18  import {{invokerPackage}}.Pair;
    19  
    20  {{>generatedAnnotation}}
    21  {{#operations}}
    22  public class {{classname}}Impl implements {{classname}} {
    23  
    24      private ApiClient apiClient;
    25  
    26      public {{classname}}Impl() {
    27          this(null);
    28      }
    29  
    30      public {{classname}}Impl(ApiClient apiClient) {
    31          this.apiClient = apiClient != null ? apiClient : Configuration.getDefaultApiClient();
    32      }
    33  
    34      public ApiClient getApiClient() {
    35          return apiClient;
    36      }
    37  
    38      public void setApiClient(ApiClient apiClient) {
    39          this.apiClient = apiClient;
    40      }
    41  
    42      {{#operation}}
    43      /**
    44       * {{summary}}
    45       * {{notes}}
    46       {{#allParams}}
    47       * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{#defaultValue}}, default to {{.}}{{/defaultValue}}){{/required}}
    48       {{/allParams}}
    49       * @param resultHandler Asynchronous result handler
    50       */
    51      public void {{operationId}}({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}Handler<AsyncResult<{{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}Void{{/returnType}}>> resultHandler) {
    52          Object localVarBody = {{#bodyParam}}{{paramName}}{{/bodyParam}}{{^bodyParam}}null{{/bodyParam}};
    53          {{#allParams}}{{#required}}
    54          // verify the required parameter '{{paramName}}' is set
    55          if ({{paramName}} == null) {
    56              resultHandler.handle(ApiException.fail(400, "Missing the required parameter '{{paramName}}' when calling {{operationId}}"));
    57              return;
    58          }
    59          {{/required}}{{/allParams}}
    60          // create path and map variables
    61          String localVarPath = "{{{path}}}"{{#pathParams}}.replaceAll("\\{" + "{{baseName}}" + "\\}", {{{paramName}}}.toString()){{/pathParams}};
    62  
    63          // query params
    64          List<Pair> localVarQueryParams = new ArrayList<>();
    65          {{#queryParams}}
    66          localVarQueryParams.addAll(apiClient.parameterToPairs("{{#collectionFormat}}{{{collectionFormat}}}{{/collectionFormat}}", "{{baseName}}", {{paramName}}));
    67          {{/queryParams}}
    68  
    69          // header params
    70          MultiMap localVarHeaderParams = MultiMap.caseInsensitiveMultiMap();
    71          {{#headerParams}}if ({{paramName}} != null)
    72          localVarHeaderParams.add("{{baseName}}", apiClient.parameterToString({{paramName}}));
    73          {{/headerParams}}
    74  
    75          // cookie params
    76          MultiMap localVarCookieParams = MultiMap.caseInsensitiveMultiMap();
    77          {{#cookieParams}}if ({{paramName}} != null)
    78          localVarCookieParams.add("{{baseName}}", apiClient.parameterToString({{paramName}}));
    79          {{/cookieParams}}
    80  
    81          // form params
    82          // TODO: sending files within multipart/form-data is not supported yet (because of vertx web-client)
    83          Map<String, Object> localVarFormParams = new HashMap<>();
    84          {{#formParams}}if ({{paramName}} != null) localVarFormParams.put("{{baseName}}", {{paramName}});
    85          {{/formParams}}
    86  
    87          String[] localVarAccepts = { {{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}} };
    88          String[] localVarContentTypes = { {{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}} };
    89          String[] localVarAuthNames = new String[] { {{#authMethods}}"{{name}}"{{^-last}}, {{/-last}}{{/authMethods}} };
    90          {{#returnType}}
    91          TypeReference<{{{returnType}}}> localVarReturnType = new TypeReference<{{{returnType}}}>() {};
    92          apiClient.invokeAPI(localVarPath, "{{httpMethod}}", localVarQueryParams, localVarBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAccepts, localVarContentTypes, localVarAuthNames, localVarReturnType, resultHandler);{{/returnType}}{{^returnType}}
    93          apiClient.invokeAPI(localVarPath, "{{httpMethod}}", localVarQueryParams, localVarBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAccepts, localVarContentTypes, localVarAuthNames, null, resultHandler);{{/returnType}}
    94      }
    95      {{/operation}}
    96  }
    97  {{/operations}}