apex.api.mustache Maven / Gradle / Ivy
{{>licenseInfo}}
{{#operations}}
public class {{classname}} {
{{classPrefix}}Client client;
public {{classname}}({{classPrefix}}Client client) {
this.client = client;
}
public {{classname}}() {
this.client = new {{classPrefix}}Client();
}
public {{classPrefix}}Client getClient() {
return this.client;
}
{{#operation}}
/**
* {{summary}}
* {{notes}}
{{#allParams}}
* @param {{paramName}} {{description}}{{#required}} (required){{/required}}{{^required}} (optional{{#defaultValue}}, default to {{{.}}}{{/defaultValue}}){{/required}}
{{/allParams}}
{{#returnType}}
* @return {{{.}}}
{{/returnType}}
* @throws OAS.ApiException if fails to make API call
*/
public {{{returnType}}}{{^returnType}}void{{/returnType}} {{operationId}}({{#hasParams}}Map params{{/hasParams}}) {
{{#allParams}}
{{#required}}
client.assertNotNull(params.get('{{paramName}}'), '{{paramName}}');
{{/required}}
{{/allParams}}
List query = new List();
{{#hasQueryParams}}
// cast query params to verify their expected type
{{/hasQueryParams}}
{{#queryParams}}
{{#isArray}}
{{#isCollectionFormatMulti}}
query.addAll(client.makeParams('{{baseName}}', ({{{dataType}}}) params.get('{{paramName}}')));
{{/isCollectionFormatMulti}}
{{^isCollectionFormatMulti}}
query.addAll(client.makeParam('{{baseName}}', ({{{dataType}}}) params.get('{{paramName}}'), '{{collectionFormat}}'));
{{/isCollectionFormatMulti}}
{{/isArray}}
{{^isArray}}
query.addAll(client.makeParam('{{baseName}}', ({{{dataType}}}) params.get('{{paramName}}')));
{{/isArray}}
{{#-last}}
{{/-last}}
{{/queryParams}}
List form = new List();
{{#hasFormParams}}
// cast form params to verify their expected type
{{/hasFormParams}}
{{#formParams}}
{{#isArray}}
{{#isCollectionFormatMulti}}
form.addAll(client.makeParams('{{baseName}}', ({{{dataType}}}) params.get('{{paramName}}')));
{{/isCollectionFormatMulti}}
{{^isCollectionFormatMulti}}
form.addAll(client.makeParam('{{baseName}}', ({{{dataType}}}) params.get('{{paramName}}'), '{{collectionFormat}}'));
{{/isCollectionFormatMulti}}
{{/isArray}}
{{^isArray}}
form.addAll(client.makeParam('{{baseName}}', ({{{dataType}}}) params.get('{{paramName}}')));
{{/isArray}}
{{/formParams}}
{{#returnType}}return ({{{.}}}) {{/returnType}}client.invoke(
'{{httpMethod}}', '{{path}}',{{#bodyParam}}
({{{dataType}}}) params.get('{{paramName}}'){{/bodyParam}}{{^bodyParam}} ''{{/bodyParam}},
query, form,
new Map{{#hasPathParams}}{
{{#pathParams}}
'{{baseName}}' => ({{{dataType}}}) params.get('{{paramName}}'){{^-last}},{{/-last}}
{{/pathParams}}
}{{/hasPathParams}}{{^hasPathParams}}(){{/hasPathParams}},
new Map{{#hasHeaderParams}}{
{{#headerParams}}
'{{baseName}}' => ({{{dataType}}}) params.get('{{paramName}}'){{^-last}},{{/-last}}
{{/headerParams}}
}{{/hasHeaderParams}}{{^hasHeaderParams}}(){{/hasHeaderParams}},
{{#hasProduces}}
new List{ {{#produces}}'{{mediaType}}'{{^-last}}, {{/-last}}{{/produces}} },
{{/hasProduces}}
{{^hasProduces}}
new List(),
{{/hasProduces}}
{{#hasConsumes}}
new List{ {{#consumes}}'{{mediaType}}'{{^-last}}, {{/-last}}{{/consumes}} },
{{/hasConsumes}}
{{^hasConsumes}}
new List(),
{{/hasConsumes}}
{{#hasAuthMethods}}
new List { {{#authMethods}}'{{name}}'{{^-last}}, {{/-last}}{{/authMethods}} },
{{/hasAuthMethods}}
{{^hasAuthMethods}}
new List(),
{{/hasAuthMethods}}
{{#returnType}}
{{{.}}}.class
{{/returnType}}
{{^returnType}}
null
{{/returnType}}
);
}
{{/operation}}
}
{{/operations}}