All Downloads are FREE. Search and download functionalities are using the official Maven repository.

custom_templates.api.mustache Maven / Gradle / Ivy

Go to download

The Okta Java SDK API .jar provides a Java API that your code can use to make calls to the Okta API. This .jar is the only compile-time dependency within the Okta SDK project that your code should depend on. Implementations of this API (implementation .jars) should be runtime dependencies only.

There is a newer version: 20.0.0
Show newest version
{{!
    Copyright (c) 2022-Present, Okta, Inc.

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
}}
{{>licenseInfo}}
package {{package}};

import com.fasterxml.jackson.core.type.TypeReference;

import {{invokerPackage}}.ApiException;
import {{invokerPackage}}.ApiClient;
import {{invokerPackage}}.Configuration;
import {{modelPackage}}.*;
import {{invokerPackage}}.Pair;

{{#imports}}import {{import}};
{{/imports}}

import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringJoiner;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.DeserializationFeature;

import org.openapitools.jackson.nullable.JsonNullableModule;

{{>generatedAnnotation}}
{{#operations}}
    public class {{classname}} {


    private ApiClient apiClient;

    public {{classname}}() {
    this(Configuration.getDefaultApiClient());
    }

    public {{classname}}(ApiClient apiClient) {
    this.apiClient = apiClient;
    }

    public ApiClient getApiClient() {
    return apiClient;
    }

    public void setApiClient(ApiClient apiClient) {
    this.apiClient = apiClient;
    }

    {{#operation}}
        /**
        * {{summary}}
        * {{notes}}
        {{#allParams}}
            * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}){{/isContainer}}{{/required}}
        {{/allParams}}
        {{#returnType}}
            * @return {{returnType}}
        {{/returnType}}
        * @throws ApiException if fails to make API call
        {{#isDeprecated}}
            * @deprecated
        {{/isDeprecated}}
        {{#externalDocs}}
            * {{description}}
            * @see {{summary}} Documentation
        {{/externalDocs}}
        */
        {{#isDeprecated}}
            @Deprecated
        {{/isDeprecated}}
        public {{#returnType}}{{{returnType}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{operationId}}({{#allParams}}{{{dataType}}} {{paramName}}{{^-last}}, {{/-last}}{{/allParams}}) throws ApiException {
        {{#returnType}}return {{/returnType}}this.{{operationId}}({{#allParams}}{{paramName}}, {{/allParams}}Collections.emptyMap());
        }


        /**
        * {{summary}}
        * {{notes}}
        {{#allParams}}
            * @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{^isContainer}}{{#defaultValue}}, default to {{.}}{{/defaultValue}}){{/isContainer}}{{/required}}
        {{/allParams}}
        * @param additionalHeaders additionalHeaders for this call
        {{#returnType}}
            * @return {{returnType}}
        {{/returnType}}
        * @throws ApiException if fails to make API call
        {{#isDeprecated}}
            * @deprecated
        {{/isDeprecated}}
        {{#externalDocs}}
            * {{description}}
            * @see {{summary}} Documentation
        {{/externalDocs}}
        */
        {{#isDeprecated}}
            @Deprecated
        {{/isDeprecated}}
        public {{#returnType}}{{{returnType}}} {{/returnType}}{{^returnType}}void {{/returnType}}{{operationId}}({{#allParams}}{{{dataType}}} {{paramName}}, {{/allParams}}Map additionalHeaders) throws ApiException {
        Object localVarPostBody = {{#bodyParam}}{{paramName}}{{/bodyParam}}{{^bodyParam}}null{{/bodyParam}};
        {{#allParams}}{{#required}}
            // verify the required parameter '{{paramName}}' is set
            if ({{paramName}} == null) {
            throw new ApiException(400, "Missing the required parameter '{{paramName}}' when calling {{operationId}}");
            }
        {{/required}}{{/allParams}}
        // create path and map variables
        String localVarPath = "{{{path}}}"{{#pathParams}}
            .replaceAll("\\{" + "{{baseName}}" + "\\}", apiClient.escapeString({{{paramName}}}.toString())){{/pathParams}};

        StringJoiner localVarQueryStringJoiner = new StringJoiner("&");
        String localVarQueryParameterBaseName;
        List localVarQueryParams = new ArrayList();
            List localVarCollectionQueryParams = new ArrayList();
            Map localVarHeaderParams = new HashMap();
            Map localVarCookieParams = new HashMap();
            Map localVarFormParams = new HashMap();

        {{#queryParams}}
            {{#isDeepObject}}
                    localVarQueryParameterBaseName = "{{{baseName}}}";
                {{#isArray}}
                        for (int i=0; i < {{paramName}}.size(); i++) {
                        localVarQueryStringJoiner.add({{paramName}}.get(i).toUrlQueryString(String.format("{{baseName}}[%d]", i)));
                        }
                {{/isArray}}
                {{^isArray}}
                        localVarQueryStringJoiner.add({{paramName}}.toUrlQueryString("{{baseName}}"));
                {{/isArray}}
            {{/isDeepObject}}
            {{^isDeepObject}}
                {{#isExplode}}
                    {{#hasVars}}
                        {{#vars}}
                            {{#isArray}}
                                    localVarQueryParams.addAll(apiClient.parameterToPairs("multi", "{{baseName}}", {{paramName}}.{{getter}}()));
                            {{/isArray}}
                            {{^isArray}}
                                    localVarQueryParams.addAll(apiClient.parameterToPair("{{baseName}}", {{paramName}}.{{getter}}()));
                            {{/isArray}}
                        {{/vars}}
                    {{/hasVars}}
                    {{^hasVars}}
                        {{#isModel}}
                                localVarQueryStringJoiner.add({{paramName}}.toUrlQueryString());
                        {{/isModel}}
                        {{^isModel}}
                            {{#collectionFormat}}localVarCollectionQueryParams.addAll(apiClient.parameterToPairs("{{{collectionFormat}}}", {{/collectionFormat}}{{^collectionFormat}}localVarQueryParams.addAll(apiClient.parameterToPair({{/collectionFormat}}"{{baseName}}", {{paramName}}));
                        {{/isModel}}
                    {{/hasVars}}
                {{/isExplode}}
                {{^isExplode}}
                    {{#collectionFormat}}localVarCollectionQueryParams.addAll(apiClient.parameterToPairs("{{{collectionFormat}}}", {{/collectionFormat}}{{^collectionFormat}}localVarQueryParams.addAll(apiClient.parameterToPair({{/collectionFormat}}"{{baseName}}", {{paramName}}));
                {{/isExplode}}
            {{/isDeepObject}}
        {{/queryParams}}
        {{#headerParams}}if ({{paramName}} != null)
            localVarHeaderParams.put("{{baseName}}", apiClient.parameterToString({{paramName}}));
        {{/headerParams}}

            localVarHeaderParams.putAll(additionalHeaders);

        {{#cookieParams}}if ({{paramName}} != null)
            localVarCookieParams.put("{{baseName}}", apiClient.parameterToString({{paramName}}));
        {{/cookieParams}}

        {{#formParams}}if ({{paramName}} != null)
            localVarFormParams.put("{{baseName}}", {{paramName}});
        {{/formParams}}

            final String[] localVarAccepts = {
        {{#produces}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/produces}}
            };
            final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);

            final String[] localVarContentTypes = {
        {{#consumes}}"{{{mediaType}}}"{{^-last}}, {{/-last}}{{/consumes}}
            };
            final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);

            String[] localVarAuthNames = new String[] { {{#authMethods}}"{{name}}"{{^-last}}, {{/-last}}{{/authMethods}} };

        {{#returnType}}
                TypeReference<{{{returnType}}}> localVarReturnType = new TypeReference<{{{returnType}}}>() {};
                return apiClient.invokeAPI(
        {{/returnType}}
        {{^returnType}}
                apiClient.invokeAPI(
        {{/returnType}}
            localVarPath,
            "{{httpMethod}}",
            localVarQueryParams,
            localVarCollectionQueryParams,
            localVarQueryStringJoiner.toString(),
            localVarPostBody,
            localVarHeaderParams,
            localVarCookieParams,
            localVarFormParams,
            localVarAccept,
            localVarContentType,
            localVarAuthNames,
        {{#returnType}}localVarReturnType{{/returnType}}{{^returnType}}null{{/returnType}}
            );
            }

    {{/operation}}

        protected static ObjectMapper getObjectMapper() {
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.registerModule(new JavaTimeModule());
        objectMapper.registerModule(new JsonNullableModule());
        objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        objectMapper.configure(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL, true);
        return objectMapper;
        }

        }
{{/operations}}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy