All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.dropwizard.views.mustache.PerClassMustacheResolver Maven / Gradle / Ivy

There is a newer version: 5.0.0-rc.1
Show newest version
package io.dropwizard.views.mustache;

import com.github.mustachejava.MustacheResolver;
import io.dropwizard.views.View;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.StandardCharsets;

/**
 * {@link MustacheResolver} implementation that resolves mustache
 * files from the classpath relatively from a provided class.
 */
class PerClassMustacheResolver implements MustacheResolver {
    private final Class klass;

    PerClassMustacheResolver(Class klass) {
        this.klass = klass;
    }

    @Override
    public Reader getReader(String resourceName) {
        final InputStream is = klass.getResourceAsStream(resourceName);
        if (is == null) {
            return null;
        }
        return new BufferedReader(new InputStreamReader(is, StandardCharsets.UTF_8));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy