package org.jsondoc.core.pojo;
import java.util.Set;
import java.util.TreeSet;
import java.util.UUID;
public class ApiDoc implements Comparable<ApiDoc> {
public final String jsondocId = UUID.randomUUID().toString();
// properties that can be overridden by the values specified in the JSONDoc @Api annotation
private String name;
private String description;
private ApiVisibility visibility;
private ApiStage stage;
private String group;
// properties that cannot be overridden in the mergeApiDoc method
private Set<ApiMethodDoc> methods;
private ApiVersionDoc supportedversions;
private ApiAuthDoc auth;
public ApiDoc() {
this.name = "";
this.description = "";
this.visibility = ApiVisibility.UNDEFINED;
this.stage = ApiStage.UNDEFINED;
this.group = "";
this.methods = new TreeSet<ApiMethodDoc>();
this.supportedversions = null;
this.auth = null;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Set<ApiMethodDoc> getMethods() {
return methods;
}
public void setMethods(Set<ApiMethodDoc> methods) {
this.methods = methods;
}
public void addMethod(ApiMethodDoc apiMethod) {
this.methods.add(apiMethod);
}
public ApiVersionDoc getSupportedversions() {
return supportedversions;
}
public void setSupportedversions(ApiVersionDoc supportedversions) {
this.supportedversions = supportedversions;
}
public ApiAuthDoc getAuth() {
return auth;
}
public void setAuth(ApiAuthDoc auth) {
this.auth = auth;
}
public String getGroup() {
return group;
}
public void setGroup(String group) {
this.group = group;
}
public ApiVisibility getVisibility() {
return visibility;
}
public void setVisibility(ApiVisibility visibility) {
this.visibility = visibility;
}
public ApiStage getStage() {
return stage;
}
public void setStage(ApiStage stage) {
this.stage = stage;
}
@Override
public int compareTo(ApiDoc o) {
return name.compareTo(o.getName());
}
}