blob: a8719f85d975f6468e48de1b4ea754bc3ad8e3a8 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
package org.apache.geronimo.microprofile.openapi.impl.model;
import java.util.LinkedHashMap;
import java.util.Map;
import javax.enterprise.inject.Vetoed;
import javax.json.bind.annotation.JsonbProperty;
import javax.json.bind.annotation.JsonbTransient;
import org.eclipse.microprofile.openapi.models.Extensible;
import org.eclipse.microprofile.openapi.models.links.Link;
import org.eclipse.microprofile.openapi.models.servers.Server;
@Vetoed
public class LinkImpl implements Link {
private Extensible _extensible = new ExtensibleImpl();
private String _description;
private String _operationId;
private String _operationRef;
private Map<String, Object> _parameters;
private String _ref;
private Object _requestBody;
private Server _server;
@Override
@JsonbTransient
public Map<String, Object> getExtensions() {
return _extensible.getExtensions();
}
@Override
public void setExtensions(final Map<String, Object> extensions) {
_extensible.setExtensions(extensions);
}
@Override
public Link addExtension(final String name, final Object value) {
_extensible.addExtension(name, value);
return this;
}
@Override
public void removeExtension(final String name) {
_extensible.removeExtension(name);
}
@Override
public void removeParameter(final String name) {
_parameters.remove(name);
}
@Override
public String getDescription() {
return _description;
}
@Override
public void setDescription(final String _description) {
this._description = _description;
}
@Override
public Link description(final String _description) {
setDescription(_description);
return this;
}
@Override
public String getOperationId() {
return _operationId;
}
@Override
public void setOperationId(final String _operationId) {
this._operationId = _operationId;
}
@Override
public Link operationId(final String _operationId) {
setOperationId(_operationId);
return this;
}
@Override
public String getOperationRef() {
return _operationRef;
}
@Override
public void setOperationRef(final String _operationRef) {
this._operationRef = _operationRef;
}
@Override
public Link operationRef(final String _operationRef) {
setOperationRef(_operationRef);
return this;
}
@Override
public Map<String, Object> getParameters() {
return _parameters;
}
@Override
public void setParameters(final Map<String, Object> _parameters) {
this._parameters = _parameters;
}
@Override
public Link parameters(final Map<String, Object> _parameters) {
setParameters(_parameters);
return this;
}
@Override
public Link addParameter(final String key, final Object _parameters) {
if (_parameters != null) {
(this._parameters = this._parameters == null ? new LinkedHashMap<>() : this._parameters).put(key, _parameters);
}
return this;
}
@Override
@JsonbProperty("$ref")
public String getRef() {
return _ref;
}
@Override
@JsonbProperty("$ref")
public void setRef(final String _ref) {
this._ref = _ref.startsWith("#") ? _ref : ("#/components/links/" + _ref);
}
@Override
public Link ref(final String _ref) {
setRef(_ref);
return this;
}
@Override
public Object getRequestBody() {
return _requestBody;
}
@Override
public void setRequestBody(final Object _requestBody) {
this._requestBody = _requestBody;
}
@Override
public Link requestBody(final Object _requestBody) {
setRequestBody(_requestBody);
return this;
}
@Override
public Server getServer() {
return _server;
}
@Override
public void setServer(final Server _server) {
this._server = _server;
}
@Override
public Link server(final Server _server) {
setServer(_server);
return this;
}
}