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

com.wordnik.swagger.models.Operation Maven / Gradle / Ivy

The newest version!
package com.wordnik.swagger.models;

import com.wordnik.swagger.models.parameters.*;

import com.fasterxml.jackson.annotation.*;

import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;

public class Operation {
  private List tags;
  private String summary;
  private String description;
  private String operationId;
  private List schemes;
  private List consumes;
  private List produces;
  private List parameters = new ArrayList();
  private Map responses;
  private List>> security;
  private String example;
  private ExternalDocs externalDocs;
  private Boolean deprecated;
  private final Map vendorExtensions = new HashMap();

  public Operation summary(String summary) {
    this.setSummary(summary);
    return this;
  }
  public Operation description(String description) {
    this.setDescription(description);
    return this;
  }
  public Operation operationId(String operationId) {
    this.setOperationId(operationId);
    return this;
  }
  public Operation schemes(List schemes) {
    this.setSchemes(schemes);
    return this;
  }
  public Operation scheme(Scheme scheme) {
    this.addScheme(scheme);
    return this;
  }
  public Operation consumes(List consumes) {
    this.setConsumes(consumes);
    return this;
  }
  public Operation consumes(String consumes) {
    this.addConsumes(consumes);
    return this;
  }
  public Operation produces(List produces) {
    this.setProduces(produces);
    return this;
  }
  public Operation produces(String produces) {
    this.addProduces(produces);
    return this;
  }
  public Operation security(SecurityRequirement security) {
    this.addSecurity(security.getName(), security.getScopes());
    return this;
  }
  public Operation parameter(Parameter parameter) {
    this.addParameter(parameter);
    return this;
  }
  public Operation response(int key, Response response) {
    this.addResponse(String.valueOf(key), response);
    return this;
  }
  public Operation defaultResponse(Response response) {
    this.addResponse("default", response);
    return this;
  }
  public Operation tags(List tags) {
    this.setTags(tags);
    return this;
  }
  public Operation tag(String tag) {
    this.addTag(tag);
    return this;
  }
  public Operation externalDocs(ExternalDocs externalDocs) {
    this.setExternalDocs(externalDocs);
    return this;
  }
  public Operation deprecated(Boolean deprecated) {
    this.setDeprecated(deprecated);
    return this;
  }

  public List getTags() {
    return tags;
  }
  public void setTags(List tags) {
    this.tags = tags;
  }
  public void addTag(String tag) {
    if(this.tags == null)
      this.tags = new ArrayList();
    this.tags.add(tag);
  }

  public String getSummary() {
    return summary;
  }
  public void setSummary(String summary) {
    this.summary = summary;
  }

  public String getDescription() {
    return description;
  }
  public void setDescription(String description) {
    this.description = description;
  }

  public String getOperationId() {
    return operationId;
  }
  public void setOperationId(String operationId) {
    this.operationId = operationId;
  }

  public List getSchemes() {
    return schemes;
  }
  public void setSchemes(List schemes) {
    this.schemes = schemes;
  }
  public void addScheme(Scheme scheme) {
    if(this.schemes == null)
      this.schemes = new ArrayList();
    this.schemes.add(scheme);
  }

  public List getConsumes() {
    return consumes;
  }
  public void setConsumes(List consumes) {
    this.consumes = consumes;
  }
  public void addConsumes(String consumes) {
    if(this.consumes == null)
      this.consumes = new ArrayList();
    this.consumes.add(consumes);
  }

  public List getProduces() {
    return produces;
  }
  public void setProduces(List produces) {
    this.produces = produces;
  }
  public void addProduces(String produces) {
    if(this.produces == null)
      this.produces = new ArrayList();
    this.produces.add(produces);
  }

  public List getParameters() {
    return parameters;
  }
  public void setParameters(List parameters) {
    this.parameters = parameters;
  }
  public void addParameter(Parameter parameter) {
    if(this.parameters == null) {
      this.parameters = new ArrayList();
    }
    this.parameters.add(parameter);
  }

  public Map getResponses() {
    return responses;
  }
  public void setResponses(Map responses) {
    this.responses = responses;
  }
  public void addResponse(String key, Response response) {
    if(this.responses == null) {
      this.responses = new HashMap();
    }
    this.responses.put(key, response);
  }

  public List>> getSecurity() {
    return security;
  }
  public void setSecurity(List>> security) {
    this.security = security;
  }
  public void addSecurity(String name, List scopes) {
    if(this.security == null)
      this.security = new ArrayList>>();
    Map> req = new HashMap>();
    if(scopes == null)
      scopes = new ArrayList();
    req.put(name, scopes);
    this.security.add(req);
  }

  public ExternalDocs getExternalDocs() {
    return externalDocs;
  }

  public void setExternalDocs(ExternalDocs value) {
    this.externalDocs = value;
  }

  public Boolean isDeprecated() {
    return deprecated;
  }

  public void setDeprecated(Boolean value) {
    if(value == null || value.equals(Boolean.FALSE))
      this.deprecated = null;
    else
      this.deprecated = value;
  }

  @JsonAnyGetter
  public Map getVendorExtensions() {
    return vendorExtensions;
  }

  @JsonAnySetter
  public void setVendorExtension(String name, Object value) {
    if (name.startsWith("x-")) {
      vendorExtensions.put(name, value);
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy