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

io.apicurio.datamodels.models.openapi.v20.OpenApi20ResponsesImpl Maven / Gradle / Ivy

package io.apicurio.datamodels.models.openapi.v20;

import com.fasterxml.jackson.databind.JsonNode;
import io.apicurio.datamodels.models.Node;
import io.apicurio.datamodels.models.NodeImpl;
import io.apicurio.datamodels.models.openapi.OpenApiResponse;
import io.apicurio.datamodels.models.openapi.v20.visitors.OpenApi20Visitor;
import io.apicurio.datamodels.models.visitors.Visitor;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

public class OpenApi20ResponsesImpl extends NodeImpl implements OpenApi20Responses {

	private OpenApiResponse _default;
	private Map _items = new LinkedHashMap<>();
	private Map extensions;

	@Override
	public OpenApiResponse getDefault() {
		return _default;
	}

	@Override
	public void setDefault(OpenApiResponse value) {
		this._default = value;
	}

	@Override
	public OpenApi20Response createResponse() {
		OpenApi20ResponseImpl node = new OpenApi20ResponseImpl();
		node.setParent(this);
		return node;
	}

	@Override
	public OpenApiResponse getItem(String name) {
		return this._items.get(name);
	}

	@Override
	public List getItems() {
		List rval = new ArrayList<>();
		rval.addAll(this._items.values());
		return rval;
	}

	@Override
	public List getItemNames() {
		List rval = new ArrayList<>();
		rval.addAll(this._items.keySet());
		return rval;
	}

	@Override
	public void addItem(String name, OpenApiResponse item) {
		this._items.put(name, item);
	}

	@Override
	public OpenApiResponse removeItem(String name) {
		return this._items.remove(name);
	}

	@Override
	public Map getExtensions() {
		return extensions;
	}

	@Override
	public void addExtension(String name, JsonNode value) {
		if (this.extensions == null) {
			this.extensions = new LinkedHashMap<>();
		}
		this.extensions.put(name, value);
	}

	@Override
	public void clearExtensions() {
		if (this.extensions != null) {
			this.extensions.clear();
		}
	}

	@Override
	public void removeExtension(String name) {
		if (this.extensions != null) {
			this.extensions.remove(name);
		}
	}

	@Override
	public void accept(Visitor visitor) {
		OpenApi20Visitor viz = (OpenApi20Visitor) visitor;
		viz.visitResponses(this);
	}

	@Override
	public Node emptyClone() {
		return new OpenApi20ResponsesImpl();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy