🔀 Merge “release/v81” into “master”
[Sone.git] / src / main / java / net / pterodactylus / sone / main / Loaders.java
1 package net.pterodactylus.sone.main;
2
3 import javax.annotation.Nonnull;
4
5 import net.pterodactylus.util.template.Template;
6 import net.pterodactylus.util.template.TemplateProvider;
7 import net.pterodactylus.util.web.Page;
8 import net.pterodactylus.util.web.Request;
9
10 import com.google.inject.ImplementedBy;
11
12 /**
13  * Defines loaders for resources that can be loaded from various locations.
14  */
15 @ImplementedBy(DefaultLoaders.class)
16 public interface Loaders {
17
18         @Nonnull Template loadTemplate(@Nonnull String path);
19         @Nonnull <REQ extends Request> Page<REQ> loadStaticPage(@Nonnull String basePath, @Nonnull String prefix, @Nonnull String mimeType);
20         @Nonnull TemplateProvider getTemplateProvider();
21
22 }