package org.watertemplate.nested;
import org.watertemplate.Template;
import org.watertemplate.TemplateMap;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class NestedTemplatesFixture {
public static class MasterTemplate extends Template {
protected String getFilePath() {
return "nested/masterTemplate.html";
}
}
public static class SubTemplate extends Template {
protected String getFilePath() {
return "nested/subTemplate.html";
}
}
public static class TemplateOnlyWithMasterTemplate extends Template {
@Override
protected Template getMasterTemplate() {
return new MasterTemplate();
}
@Override
protected String getFilePath() {
return "nested/templateOnlyWithMasterTemplate.html";
}
}
public static class TemplateOnlyWithSubTemplates extends Template {
@Override
protected void addSubTemplates(final TemplateMap.SubTemplates subTemplates) {
subTemplates.add("sub_template", new SubTemplate());
}
@Override
protected String getFilePath() {
return "nested/templateOnlyWithSubTemplates.html";
}
}
public static class TemplateWithSubTemplatesAndMasterTemplate extends Template {
@Override
protected Template getMasterTemplate() {
return new MasterTemplate();
}
@Override
protected void addSubTemplates(final TemplateMap.SubTemplates subTemplates) {
subTemplates.add("sub_template", new SubTemplate());
}
@Override
protected String getFilePath() {
return "nested/templateWithMasterAndSubTemplates.html";
}
}
public static class SubTemplateMasterTemplate extends Template {
@Override
protected String getFilePath() {
return "nested/subTemplateMasterTemplate.html";
}
}
public static class SubTemplateWithMasterTemplate extends SubTemplate {
@Override
protected Template getMasterTemplate() {
return new SubTemplateMasterTemplate();
}
}
static class TemplateWithMasterTemplateAndSubTemplatesThatHaveAMasterTemplate extends Template {
@Override
protected Template getMasterTemplate() {
return new MasterTemplate();
}
@Override
protected void addSubTemplates(final TemplateMap.SubTemplates subTemplates) {
subTemplates.add("sub_template", new SubTemplateWithMasterTemplate());
}
@Override
protected String getFilePath() {
return "nested/templateWithMasterTemplateAndSubTemplatesThatHaveMasterTemplate.html";
}
}
static class TemplateWithSubtemplatesListIteration extends Template {
@Override
protected void addSubTemplates(TemplateMap.SubTemplates subTemplates) {
subTemplates.add("sub1", new SubTemplate());
subTemplates.add("sub2", new SubTemplate());
}
@Override
protected String getFilePath() {
return "nested/templateWithSubtemplatesListIteration.html";
}
}
}