// Code generated from OpenAPI specs by Databricks SDK Generator. DO NOT EDIT. package com.databricks.sdk.service.{{.Package.Name}}; import java.io.IOException; import java.io.InputStream; import java.util.Collection; import java.util.Map; import java.util.HashMap; import com.databricks.sdk.core.ApiClient; import com.databricks.sdk.core.DatabricksException; import com.databricks.sdk.support.Generated; {{range .Package.ImportedEntities}} import com.databricks.sdk.service.{{.Package.Name}}.{{.PascalName}};{{end}} /** Package-local implementation of {{.PascalName}} */ @Generated class {{.PascalName}}Impl implements {{.PascalName}}Service { private final ApiClient apiClient; public {{.PascalName}}Impl(ApiClient apiClient) { this.apiClient = apiClient; } {{range .Methods}} @Override public {{if .Response -}}{{template "type" .Response}}{{else}}void{{end}} {{.CamelName}}{{if .IsNameReserved}}Content{{end}}({{if .Request}}{{template "type" .Request}} request{{end}}) { String path = {{if .PathParts -}} String.format("{{range .PathParts}}{{.Prefix}}{{if or .Field .IsAccountId}}%s{{end}}{{ end }}"{{ range .PathParts }}{{if .Field}}, request.get{{.Field.PascalName}}(){{ else if .IsAccountId }}, apiClient.configuredAccountID(){{end}}{{ end }}) {{- else}}"{{.Path}}"{{end}}; {{ template "headers" . -}} {{ if not .Response -}} {{ template "api-call" . }} {{- else if .Response.ArrayValue -}} return apiClient.getCollection(path, null, {{template "type" .Response.ArrayValue}}.class, headers); {{- else if .Response.MapValue -}} return apiClient.getStringMap(path, {{ template "request-param" .}}, headers); {{- else if .IsResponseByteStream -}} InputStream response = {{ template "api-call" . }} return new {{ .Response.PascalName }}().set{{.ResponseBodyField.PascalName}}(response); {{- else }}return {{ template "api-call" . }} {{- end}} } {{end}} } {{ define "api-call" }} apiClient.{{.Verb}}(path {{- if .Request}}, {{ template "request-param" .}}{{end}} , {{ if not .Response -}}Void {{- else if .IsResponseByteStream}}InputStream {{- else}}{{template "type" .Response}}{{- end -}}.class , headers); {{- end }} {{ define "request-param" -}} request{{ if .RequestBodyField }}.get{{.RequestBodyField.PascalName}}(){{end}} {{- end }} {{ define "headers" -}} Map headers = new HashMap<>(); {{- range $key, $value := .FixedRequestHeaders }} headers.put("{{$key}}", "{{$value}}"); {{- end -}} {{- end }}