/*******************************************************************************
* Copyright 2012 Pearson Education
*
* 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
*
* 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.semantictools.context.renderer.model;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class MethodDocumentation {
private String summary;
private String requestBodyRequirement;
private List<String> requestMediaTypes = new ArrayList<String>();
private List<String> responseMediaTypes = new ArrayList<String>();
private List<HttpHeaderInfo> requestHeaders = new ArrayList<HttpHeaderInfo>();
private List<ResponseInfo> statusCodes = new ArrayList<ResponseInfo>();
private List<QueryParam> queryParams = null;
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public List<HttpHeaderInfo> getRequestHeaders() {
return requestHeaders;
}
public void addRequestHeader(String name, String value) {
for (HttpHeaderInfo info : requestHeaders) {
if (info.getHeaderName().equals(name)) return;
}
requestHeaders.add(new HttpHeaderInfo(name, value));
}
public String getRequestBodyRequirement() {
return requestBodyRequirement;
}
public void setRequestBodyRequirement(String requestBodyRequirement) {
this.requestBodyRequirement = requestBodyRequirement;
}
public void add(ResponseInfo statusCode) {
if (!contains(statusCode)) {
statusCodes.add(statusCode);
}
}
public boolean contains(ResponseInfo code) {
for(ResponseInfo c : statusCodes) {
if (c.getStatusCode() == code.getStatusCode()) return true;
}
return false;
}
public List<ResponseInfo> getStatusCodes() {
return statusCodes;
}
public boolean containsHeader(String headerName) {
for (HttpHeaderInfo info : requestHeaders) {
if (info.getHeaderName().equals(headerName)) return true;
}
return false;
}
public List<String> getRequestContentTypes() {
return requestMediaTypes;
}
public List<String> getResponseMediaTypes() {
return responseMediaTypes;
}
public void add(QueryParam param) {
if (queryParams == null) {
queryParams = new ArrayList<QueryParam>();
}
queryParams.add(param);
}
public List<QueryParam> getQueryParams() {
return queryParams;
}
}