// Path: src/main/java/com/smartbear/swagger4j/Api.java
// public interface Api {
// 
//     public String getPath();
// 
//     public void setPath(String path);
// 
//     public String getDescription();
// 
//     public void setDescription(String description);
// 
//     public Operation getOperation(String nickName);
// 
//     public List<Operation> getOperations();
// 
//     public void removeOperation(Operation operation);
// 
//     public Operation addOperation(String nickName, Operation.Method method);
// 
//     public ApiDeclaration getApiDeclaration();
// }
// 
// Path: src/main/java/com/smartbear/swagger4j/ApiDeclaration.java
// public interface ApiDeclaration {
// 
//     public final static String DEFAULT_API_VERSION = "1.0";
// 
//     public SwaggerVersion getSwaggerVersion();
// 
//     public void setSwaggerVersion(SwaggerVersion swaggerVersion);
// 
//     public String getApiVersion();
// 
//     public void setApiVersion(String apiVersion);
// 
//     public String getBasePath();
// 
//     public void setBasePath(String basePath);
// 
//     public String getResourcePath();
// 
//     public void setResourcePath(String resourcedPath);
// 
//     /**
//      * Gets a list of APIs for this ApiDeclarations
//      *
//      * @return a list of Api objects
//      * @see Api
//      */
// 
//     public List<Api> getApis();
// 
//     /**
//      * Removes the specified Api from this ApiDeclaration
//      *
//      * @param api the Api to remove
//      * @see Api
//      */
// 
//     public void removeApi(Api api);
// 
//     /**
//      * Adds a new API to this ApiDeclaration with the specified path
//      *
//      * @param path the path for the API to add
//      * @return the created API
//      * @see Api
//      */
// 
//     public Api addApi(String path);
// 
//     /**
//      * Gets the API at the specified path
//      *
//      * @param path the path to the API
//      * @return the API at that path, null if none available
//      * @see Api
//      */
// 
//     public Api getApi(String path);
// 
//     public Collection<String> getProduces();
// 
//     public void removeProduces(String produces);
// 
//     public void addProduces(String produces);
// 
//     public Collection<String> getConsumes();
// 
//     public void removeConsumes(String consumes);
// 
//     public void addConsumes(String consumes);
// 
//     public Collection<Model> getModels();
// 
//     public Model getModel(String id);
// 
//     public void addModel(Model model);
// 
// }
// 
// Path: src/main/java/com/smartbear/swagger4j/Operation.java
// public interface Operation {
// 
//     public Api getApi();
// 
//     public Method getMethod();
// 
//     public void setMethod(Method method);
// 
//     public String getNickName();
// 
//     public void setNickName(String nickName);
// 
//     public String getResponseClass();
// 
//     public void setResponseClass(String responseClass);
// 
//     public String getSummary();
// 
//     public void setSummary(String summary);
// 
//     public String getNotes();
// 
//     public void setNotes(String notes);
// 
//     public Collection<String> getProduces();
// 
//     public void removeProduces(String produces);
// 
//     public void addProduces(String produces);
// 
//     public Collection<String> getConsumes();
// 
//     public void removeConsumes(String consumes);
// 
//     public void addConsumes(String consumes);
// 
//     public List<Parameter> getParameters();
// 
//     public Parameter getParameter(String name);
// 
//     public void removeParameter(Parameter parameter);
// 
//     public Parameter addParameter(String name, Parameter.ParamType type);
// 
//     public List<ResponseMessage> getResponseMessages();
// 
//     public ResponseMessage getResponseMessage(int code);
// 
//     public void removeResponseMessage(ResponseMessage responseMessage);
// 
//     public ResponseMessage addResponseMessage(int code, String message);
// 
//     /**
//      * These are the methods supported by Swagger 1.2 - more to come
//      */
// 
//     public enum Method {
//         GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH
//     }
// }


import com.smartbear.swagger4j.Api;
import com.smartbear.swagger4j.ApiDeclaration;
import com.smartbear.swagger4j.Operation;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
 * Copyright 2013 SmartBear Software, Inc.
 * <p>
 * Licensed 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
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * 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 com.smartbear.swagger4j.impl;



/**
 * Default implementation of the Api interface
 *
 * @see Api
 */

public class ApiImpl implements Api {
    private String path;
    private String description;
    private final List<Operation> operations = new ArrayList<Operation>();
    private ApiDeclaration apiDeclaration;

// Path: src/main/java/com/smartbear/swagger4j/Api.java
// public interface Api {
// 
//     public String getPath();
// 
//     public void setPath(String path);
// 
//     public String getDescription();
// 
//     public void setDescription(String description);
// 
//     public Operation getOperation(String nickName);
// 
//     public List<Operation> getOperations();
// 
//     public void removeOperation(Operation operation);
// 
//     public Operation addOperation(String nickName, Operation.Method method);
// 
//     public ApiDeclaration getApiDeclaration();
// }
// 
// Path: src/main/java/com/smartbear/swagger4j/ApiDeclaration.java
// public interface ApiDeclaration {
// 
//     public final static String DEFAULT_API_VERSION = "1.0";
// 
//     public SwaggerVersion getSwaggerVersion();
// 
//     public void setSwaggerVersion(SwaggerVersion swaggerVersion);
// 
//     public String getApiVersion();
// 
//     public void setApiVersion(String apiVersion);
// 
//     public String getBasePath();
// 
//     public void setBasePath(String basePath);
// 
//     public String getResourcePath();
// 
//     public void setResourcePath(String resourcedPath);
// 
//     /**
//      * Gets a list of APIs for this ApiDeclarations
//      *
//      * @return a list of Api objects
//      * @see Api
//      */
// 
//     public List<Api> getApis();
// 
//     /**
//      * Removes the specified Api from this ApiDeclaration
//      *
//      * @param api the Api to remove
//      * @see Api
//      */
// 
//     public void removeApi(Api api);
// 
//     /**
//      * Adds a new API to this ApiDeclaration with the specified path
//      *
//      * @param path the path for the API to add
//      * @return the created API
//      * @see Api
//      */
// 
//     public Api addApi(String path);
// 
//     /**
//      * Gets the API at the specified path
//      *
//      * @param path the path to the API
//      * @return the API at that path, null if none available
//      * @see Api
//      */
// 
//     public Api getApi(String path);
// 
//     public Collection<String> getProduces();
// 
//     public void removeProduces(String produces);
// 
//     public void addProduces(String produces);
// 
//     public Collection<String> getConsumes();
// 
//     public void removeConsumes(String consumes);
// 
//     public void addConsumes(String consumes);
// 
//     public Collection<Model> getModels();
// 
//     public Model getModel(String id);
// 
//     public void addModel(Model model);
// 
// }
// 
// Path: src/main/java/com/smartbear/swagger4j/Operation.java
// public interface Operation {
// 
//     public Api getApi();
// 
//     public Method getMethod();
// 
//     public void setMethod(Method method);
// 
//     public String getNickName();
// 
//     public void setNickName(String nickName);
// 
//     public String getResponseClass();
// 
//     public void setResponseClass(String responseClass);
// 
//     public String getSummary();
// 
//     public void setSummary(String summary);
// 
//     public String getNotes();
// 
//     public void setNotes(String notes);
// 
//     public Collection<String> getProduces();
// 
//     public void removeProduces(String produces);
// 
//     public void addProduces(String produces);
// 
//     public Collection<String> getConsumes();
// 
//     public void removeConsumes(String consumes);
// 
//     public void addConsumes(String consumes);
// 
//     public List<Parameter> getParameters();
// 
//     public Parameter getParameter(String name);
// 
//     public void removeParameter(Parameter parameter);
// 
//     public Parameter addParameter(String name, Parameter.ParamType type);
// 
//     public List<ResponseMessage> getResponseMessages();
// 
//     public ResponseMessage getResponseMessage(int code);
// 
//     public void removeResponseMessage(ResponseMessage responseMessage);
// 
//     public ResponseMessage addResponseMessage(int code, String message);
// 
//     /**
//      * These are the methods supported by Swagger 1.2 - more to come
//      */
// 
//     public enum Method {
//         GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH
//     }
// }


// Path: src/main/java/com/smartbear/swagger4j/impl/ApiImpl.java
import com.smartbear.swagger4j.Api;
import com.smartbear.swagger4j.ApiDeclaration;
import com.smartbear.swagger4j.Operation;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * Copyright 2013 SmartBear Software, Inc.
 * <p>
 * Licensed 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
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * 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 com.smartbear.swagger4j.impl;



/**
 * Default implementation of the Api interface
 *
 * @see Api
 */

public class ApiImpl implements Api {
    private String path;
    private String description;
    private final List<Operation> operations = new ArrayList<Operation>();
    private ApiDeclaration apiDeclaration;

    ApiImpl(ApiDeclaration apiDeclaration, String path) {