// 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.core.http.Encoding; 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 not .Response.IsEmpty -}}{{template "type" .Response}}{{else}}void{{end}} {{.CamelName}}{{if .IsNameReserved}}Content{{end}}({{if .Request}}{{template "type" .Request}} request{{end}}) { String path = {{ template "path" . }}; {{ template "headers" . -}} {{ if .Response.IsEmpty -}} {{ 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 }}return {{ template "api-call" . }} {{- end}} } {{end}} } {{- define "path" -}} {{- if .PathParts -}} String.format("{{range .PathParts -}} {{- .Prefix -}} {{- if or .Field .IsAccountId -}}%s{{- end -}} {{- end -}}" {{- range .PathParts -}} {{- if and .Field .Field.IsPathMultiSegment -}}, Encoding.encodeMultiSegmentPathParameter(request.get{{.Field.PascalName}}()) {{- else if .Field -}}, request.get{{.Field.PascalName}}() {{- else if .IsAccountId -}}, apiClient.configuredAccountID() {{- end -}} {{- end -}}) {{- else -}} "{{.Path}}" {{- end -}} {{- end -}} {{ define "api-call" }} apiClient.{{.Verb}}(path {{- if .Request}}, {{ template "request-param" .}}{{end}} , {{ if not .Response -}}Void {{- else}}{{template "type" .Response}}{{- end -}}.class , headers); {{- end }} {{ define "request-param" -}} {{- if or (and .Operation .Operation.RequestBody) (eq .Verb "GET") (eq .Verb "DELETE") (eq .Verb "HEAD") -}} request{{ if .RequestBodyField }}.get{{.RequestBodyField.PascalName}}(){{end}} {{- else -}} null {{- end -}} {{- end }} {{ define "headers" -}} Map headers = new HashMap<>(); {{- range $key, $value := .FixedRequestHeaders }} headers.put("{{$key}}", "{{$value}}"); {{- end -}} {{- end }}