package io.myweb.processor.model;
import java.util.List;
import io.myweb.http.Method;
public class Provider {
private final String name;
private final String className;
private final List<Method> methods;
private final String generatedClassName;
public Provider(String name, String className, List<Method> methods) {
this.name = name;
this.className = className;
this.methods = methods;
this.generatedClassName = generateClassName();
}
private String generateClassName() {
// Uppercase first letter
String capitalName = name.substring(0,1).toUpperCase()+name.substring(1);
// replace all non-literal characters with underscore
return className+capitalName.replaceAll("[[^a-z]&&[^A-Z]&&[^0-9]&&[^_]]","_");
}
public String getName() {
return name;
}
public String getClassName() {
return className;
}
public String getGeneratedClassName() {
return generatedClassName;
}
public boolean hasGetMethod() {
if (methods == null) return true;
return methods.contains(Method.GET);
}
public boolean hasPostMethod() {
if (methods == null) return true;
return methods.contains(Method.POST);
}
public boolean hasPutMethod() {
if (methods == null) return true;
return methods.contains(Method.PUT);
}
public boolean hasDeleteMethod() {
if (methods == null) return true;
return methods.contains(Method.DELETE);
}
}