package net.mengkang.nettyrest;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* api mapping object
*/
public class Api {
private String name; // endpoint
private String regex;
private List<String> parameterNames;
private Set<String> httpMethod;
private String resource;
private int build;
public Api() {
httpMethod = new HashSet<>();
parameterNames = new ArrayList<>();
}
public List<String> getParameterNames() {
return parameterNames;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
String[] strings = name.split("/");
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0, len = strings.length; i < len; i++) {
if (strings[i].length() == 0) {
continue;
}
stringBuilder.append("/");
if (strings[i].startsWith(":")) {
parameterNames.add(strings[i].substring(1));
stringBuilder.append("([^/]+)");
} else {
stringBuilder.append(strings[i]);
}
}
this.regex = stringBuilder.toString();
}
public Set<String> getHttpMethod() {
return httpMethod;
}
public int getBuild() {
return build;
}
public void setBuild(int build) {
this.build = build;
}
public void addHttpMethod(String httpMethod) {
this.httpMethod.add(httpMethod);
}
public String getResource() {
return resource;
}
public void setResource(String resource) {
this.resource = resource;
}
public String getRegex() {
return regex;
}
}