forked from spullara/mustache.java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDefaultResolver.java
More file actions
51 lines (43 loc) · 1.46 KB
/
DefaultResolver.java
File metadata and controls
51 lines (43 loc) · 1.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package com.github.mustachejava.resolver;
import com.github.mustachejava.MustacheResolver;
import java.io.File;
import java.io.Reader;
/**
* Mustache resolver that provides the default functionality
* that the default mustache factory relies on by combining
* the classpath and the filesystem resolver.
*/
public class DefaultResolver implements MustacheResolver {
private final ClasspathResolver classpathResolver;
private final FileSystemResolver fileSystemResolver;
public DefaultResolver() {
this.fileSystemResolver = new FileSystemResolver();
this.classpathResolver = new ClasspathResolver();
}
/**
* Use the classpath to resolve mustache templates.
*
* @param resourceRoot where in the classpath to find the templates
*/
public DefaultResolver(String resourceRoot) {
this.classpathResolver = new ClasspathResolver(resourceRoot);
this.fileSystemResolver = new FileSystemResolver();
}
/**
* Use the file system to resolve mustache templates.
*
* @param fileRoot where in the file system to find the templates
*/
public DefaultResolver(File fileRoot) {
this.fileSystemResolver = new FileSystemResolver(fileRoot);
this.classpathResolver = new ClasspathResolver();
}
@Override
public Reader getReader(String resourceName) {
Reader reader = classpathResolver.getReader(resourceName);
if(reader == null) {
reader = fileSystemResolver.getReader(resourceName);
}
return reader;
}
}