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

io.apicurio.datamodels.models.openapi.v31.OpenApi31DocumentImpl Maven / Gradle / Ivy

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

import com.fasterxml.jackson.databind.JsonNode;
import io.apicurio.datamodels.models.Info;
import io.apicurio.datamodels.models.ModelType;
import io.apicurio.datamodels.models.Node;
import io.apicurio.datamodels.models.RootNodeImpl;
import io.apicurio.datamodels.models.openapi.OpenApiExternalDocumentation;
import io.apicurio.datamodels.models.openapi.OpenApiPaths;
import io.apicurio.datamodels.models.openapi.OpenApiSecurityRequirement;
import io.apicurio.datamodels.models.openapi.OpenApiTag;
import io.apicurio.datamodels.models.openapi.v31.visitors.OpenApi31Visitor;
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 OpenApi31DocumentImpl extends RootNodeImpl implements OpenApi31Document {

	private String openapi;
	private String jsonSchemaDialect;
	private Info info;
	private List servers;
	private OpenApiPaths paths;
	private Map webhooks;
	private OpenApi31Components components;
	private List security;
	private List tags;
	private OpenApiExternalDocumentation externalDocs;
	private Map extensions;

	public OpenApi31DocumentImpl() {
		super(ModelType.OPENAPI31);
	}

	@Override
	public String getOpenapi() {
		return openapi;
	}

	@Override
	public void setOpenapi(String value) {
		this.openapi = value;
	}

	@Override
	public String getJsonSchemaDialect() {
		return jsonSchemaDialect;
	}

	@Override
	public void setJsonSchemaDialect(String value) {
		this.jsonSchemaDialect = value;
	}

	@Override
	public Info getInfo() {
		return info;
	}

	@Override
	public void setInfo(Info value) {
		this.info = value;
	}

	@Override
	public OpenApi31Info createInfo() {
		OpenApi31InfoImpl node = new OpenApi31InfoImpl();
		node.setParent(this);
		return node;
	}

	@Override
	public OpenApi31Server createServer() {
		OpenApi31ServerImpl node = new OpenApi31ServerImpl();
		node.setParent(this);
		return node;
	}

	@Override
	public List getServers() {
		return servers;
	}

	@Override
	public void addServer(OpenApi31Server value) {
		if (this.servers == null) {
			this.servers = new ArrayList<>();
		}
		this.servers.add(value);
	}

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

	@Override
	public void removeServer(OpenApi31Server value) {
		if (this.servers != null) {
			this.servers.remove(value);
		}
	}

	@Override
	public OpenApiPaths getPaths() {
		return paths;
	}

	@Override
	public void setPaths(OpenApiPaths value) {
		this.paths = value;
	}

	@Override
	public OpenApi31Paths createPaths() {
		OpenApi31PathsImpl node = new OpenApi31PathsImpl();
		node.setParent(this);
		return node;
	}

	@Override
	public OpenApi31PathItem createPathItem() {
		OpenApi31PathItemImpl node = new OpenApi31PathItemImpl();
		node.setParent(this);
		return node;
	}

	@Override
	public Map getWebhooks() {
		return webhooks;
	}

	@Override
	public void addWebhook(String name, OpenApi31PathItem value) {
		if (this.webhooks == null) {
			this.webhooks = new LinkedHashMap<>();
		}
		this.webhooks.put(name, value);
	}

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

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

	@Override
	public OpenApi31Components getComponents() {
		return components;
	}

	@Override
	public void setComponents(OpenApi31Components value) {
		this.components = value;
	}

	@Override
	public OpenApi31Components createComponents() {
		OpenApi31ComponentsImpl node = new OpenApi31ComponentsImpl();
		node.setParent(this);
		return node;
	}

	@Override
	public OpenApi31SecurityRequirement createSecurityRequirement() {
		OpenApi31SecurityRequirementImpl node = new OpenApi31SecurityRequirementImpl();
		node.setParent(this);
		return node;
	}

	@Override
	public List getSecurity() {
		return security;
	}

	@Override
	public void addSecurity(OpenApiSecurityRequirement value) {
		if (this.security == null) {
			this.security = new ArrayList<>();
		}
		this.security.add(value);
	}

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

	@Override
	public void removeSecurity(OpenApiSecurityRequirement value) {
		if (this.security != null) {
			this.security.remove(value);
		}
	}

	@Override
	public OpenApi31Tag createTag() {
		OpenApi31TagImpl node = new OpenApi31TagImpl();
		node.setParent(this);
		return node;
	}

	@Override
	public List getTags() {
		return tags;
	}

	@Override
	public void addTag(OpenApiTag value) {
		if (this.tags == null) {
			this.tags = new ArrayList<>();
		}
		this.tags.add(value);
	}

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

	@Override
	public void removeTag(OpenApiTag value) {
		if (this.tags != null) {
			this.tags.remove(value);
		}
	}

	@Override
	public OpenApiExternalDocumentation getExternalDocs() {
		return externalDocs;
	}

	@Override
	public void setExternalDocs(OpenApiExternalDocumentation value) {
		this.externalDocs = value;
	}

	@Override
	public OpenApi31ExternalDocumentation createExternalDocumentation() {
		OpenApi31ExternalDocumentationImpl node = new OpenApi31ExternalDocumentationImpl();
		node.setParent(this);
		return node;
	}

	@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) {
		OpenApi31Visitor viz = (OpenApi31Visitor) visitor;
		viz.visitDocument(this);
	}

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy