package io.cattle.platform.configitem.server.template.impl;
import io.cattle.platform.configitem.server.resource.Resource;
import io.cattle.platform.configitem.server.template.Template;
import io.cattle.platform.configitem.server.template.TemplateLoader;
import java.io.IOException;
public abstract class AbstractExtBasedTemplateLoader implements TemplateLoader {
@Override
public int canHandle(Resource resource) {
if (resource.getName().endsWith(getExt())) {
return getPriority();
}
return TemplateLoader.NO_PRIORITY;
}
@Override
public Template loadTemplate(Resource resource) throws IOException {
String name = resource.getName();
String outputName = name.substring(0, name.length() - getExt().length());
return loadTemplate(outputName, resource);
}
protected abstract Template loadTemplate(String outputName, Resource resource) throws IOException;
public abstract int getPriority();
public abstract String getExt();
}