X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FDefaultLoaders.java;h=507297016ce7265f45a59488d4a3c138712274bd;hp=39a289df11272358556ac8c4443706de33350a71;hb=HEAD;hpb=2f21e4a2402f1c7a55175f223118521dbd2d27d8 diff --git a/src/main/java/net/pterodactylus/sone/main/DefaultLoaders.java b/src/main/java/net/pterodactylus/sone/main/DefaultLoaders.java index 39a289d..5072970 100644 --- a/src/main/java/net/pterodactylus/sone/main/DefaultLoaders.java +++ b/src/main/java/net/pterodactylus/sone/main/DefaultLoaders.java @@ -1,36 +1,46 @@ package net.pterodactylus.sone.main; -import static net.pterodactylus.util.template.TemplateParser.parse; +import java.io.*; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.io.UnsupportedEncodingException; +import javax.annotation.Nonnull; -import net.pterodactylus.util.io.Closer; +import net.pterodactylus.sone.web.WebInterface; +import net.pterodactylus.util.template.ClassPathTemplateProvider; import net.pterodactylus.util.template.Template; +import net.pterodactylus.util.template.TemplateProvider; +import net.pterodactylus.util.web.Page; +import net.pterodactylus.util.web.Request; +import net.pterodactylus.util.web.StaticPage; + +import static net.pterodactylus.util.template.TemplateParser.parse; /** * Default {@link Loaders} implementation that loads resources from the classpath. - * - * @author David ‘Bombe’ Roden */ public class DefaultLoaders implements Loaders { + @Nonnull @Override - public Template loadTemplate(String path) { - InputStream templateInputStream = null; - Reader reader = null; - try { - templateInputStream = getClass().getResourceAsStream(path); - reader = new InputStreamReader(templateInputStream, "UTF-8"); + public Template loadTemplate(@Nonnull String path) { + try (InputStream templateInputStream = getClass().getResourceAsStream(path); + Reader reader = new InputStreamReader(templateInputStream, "UTF-8");) { return parse(reader); - } catch (UnsupportedEncodingException uee1) { + } catch (IOException ioe1) { throw new RuntimeException("UTF-8 not supported."); - } finally { - Closer.close(reader); - Closer.close(templateInputStream); } } + @Nonnull + @Override + public Page loadStaticPage(@Nonnull String pathPrefix, @Nonnull String basePath, @Nonnull String mimeType) { + return new StaticPage(pathPrefix, basePath, mimeType) { + }; + } + + @Nonnull + @Override + public TemplateProvider getTemplateProvider() { + return new ClassPathTemplateProvider(WebInterface.class, "/templates/"); + } + }