X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FDebugLoaders.java;fp=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FDebugLoaders.java;h=11755e020aac3e23639e950b194cb34d84c4b86d;hp=0000000000000000000000000000000000000000;hb=76ed638264e531a26e35647d13702db865a52321;hpb=cb0161bb413434c393ae09d46001dba66b876875 diff --git a/src/main/java/net/pterodactylus/sone/main/DebugLoaders.java b/src/main/java/net/pterodactylus/sone/main/DebugLoaders.java new file mode 100644 index 0000000..11755e0 --- /dev/null +++ b/src/main/java/net/pterodactylus/sone/main/DebugLoaders.java @@ -0,0 +1,41 @@ +package net.pterodactylus.sone.main; + +import java.io.File; + +import net.pterodactylus.sone.template.FilesystemTemplate; +import net.pterodactylus.sone.web.ReloadingPage; +import net.pterodactylus.util.template.FilesystemTemplateProvider; +import net.pterodactylus.util.template.Template; +import net.pterodactylus.util.template.TemplateProvider; +import net.pterodactylus.util.web.Page; +import net.pterodactylus.util.web.Request; + +/** + * {@link Loaders} implementation that loads all resources from the filesystem. + * + * @author David ‘Bombe’ Roden + */ +public class DebugLoaders implements Loaders { + + private final String filesystemPath; + + public DebugLoaders(String filesystemPath) { + this.filesystemPath = filesystemPath; + } + + @Override + public Template loadTemplate(String path) { + return new FilesystemTemplate(new File(filesystemPath, path).getAbsolutePath()); + } + + @Override + public Page loadStaticPage(String basePath, String prefix, String mimeType) { + return new ReloadingPage(basePath, new File(filesystemPath, prefix).getAbsolutePath(), mimeType); + } + + @Override + public TemplateProvider getTemplateProvider() { + return new FilesystemTemplateProvider(new File(filesystemPath, "/templates/").getAbsolutePath()); + } + +}