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=4978d7ce011f24c6689164dcdcfa0f9f1527c53c;hb=HEAD;hpb=70d761ab3aeba06a3acfd0a8bccdde49a5d8b9b4 diff --git a/src/main/java/net/pterodactylus/sone/main/DefaultLoaders.java b/src/main/java/net/pterodactylus/sone/main/DefaultLoaders.java index 4978d7c..5072970 100644 --- a/src/main/java/net/pterodactylus/sone/main/DefaultLoaders.java +++ b/src/main/java/net/pterodactylus/sone/main/DefaultLoaders.java @@ -1,44 +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 Page loadStaticPage(String pathPrefix, String basePath, String mimeType) { - return new StaticPage(pathPrefix, basePath, mimeType); + public TemplateProvider getTemplateProvider() { + return new ClassPathTemplateProvider(WebInterface.class, "/templates/"); } }