/** * 添加一个资源加载器 * * @param matcher {@link Matcher} 匹配器 * @param resourceLoader {@link ResourceLoader} 匹配时对应的资源加载器 * @return {@link ResourceLoaderBuilder} */ public ResourceLoaderBuilder add(Matcher matcher, ResourceLoader resourceLoader) { compositeResourceLoader.addResourceLoader(matcher, resourceLoader); return this; }
/** * 创建引擎 * * @param config 模板配置 * @return {@link GroupTemplate} */ private static GroupTemplate createEngine(TemplateConfig config) { if (null == config) { config = new TemplateConfig(); } switch (config.getResourceMode()) { case CLASSPATH: return createGroupTemplate(new ClasspathResourceLoader(config.getPath(), config.getCharsetStr())); case FILE: return createGroupTemplate(new FileResourceLoader(config.getPath(), config.getCharsetStr())); case WEB_ROOT: return createGroupTemplate(new WebAppResourceLoader(config.getPath(), config.getCharsetStr())); case STRING: return createGroupTemplate(new StringTemplateResourceLoader()); case COMPOSITE: //TODO 需要定义复合资源加载器 return createGroupTemplate(new CompositeResourceLoader()); default: return new GroupTemplate(); } }
@Override public boolean exist(String key) { ResourceLoaderKeyEntry rlke = this.match(key); if (rlke == null) return false; return rlke.getResourceLoader().exist(rlke.getNewKey()); }
/** * 创建引擎 * * @param config 模板配置 * @return {@link GroupTemplate} */ private static GroupTemplate createEngine(TemplateConfig config) { if (null == config) { config = new TemplateConfig(); } switch (config.getResourceMode()) { case CLASSPATH: return createGroupTemplate(new ClasspathResourceLoader(config.getPath(), config.getCharsetStr())); case FILE: return createGroupTemplate(new FileResourceLoader(config.getPath(), config.getCharsetStr())); case WEB_ROOT: return createGroupTemplate(new WebAppResourceLoader(config.getPath(), config.getCharsetStr())); case STRING: return createGroupTemplate(new StringTemplateResourceLoader()); case COMPOSITE: //TODO 需要定义复合资源加载器 return createGroupTemplate(new CompositeResourceLoader()); default: return new GroupTemplate(); } }
@Override public boolean exist(String key) { ResourceLoaderKeyEntry rlke = this.match(key); if (rlke == null) return false; return rlke.getResourceLoader().exist(rlke.getNewKey()); }
/** * 添加一个资源加载器 * * @param matcher {@link Matcher} 匹配器 * @param resourceLoader {@link ResourceLoader} 匹配时对应的资源加载器 * @return {@link ResourceLoaderBuilder} */ public ResourceLoaderBuilder add(Matcher matcher, ResourceLoader resourceLoader) { compositeResourceLoader.addResourceLoader(matcher, resourceLoader); return this; }
/** * 创建引擎 * * @param config 模板配置 * @return {@link GroupTemplate} */ private static GroupTemplate createEngine(TemplateConfig config) { if (null == config) { config = new TemplateConfig(); } switch (config.getResourceMode()) { case CLASSPATH: return createGroupTemplate(new ClasspathResourceLoader(config.getPath(), config.getCharsetStr())); case FILE: return createGroupTemplate(new FileResourceLoader(config.getPath(), config.getCharsetStr())); case WEB_ROOT: return createGroupTemplate(new WebAppResourceLoader(config.getPath(), config.getCharsetStr())); case STRING: return createGroupTemplate(new StringTemplateResourceLoader()); case COMPOSITE: //TODO 需要定义复合资源加载器 return createGroupTemplate(new CompositeResourceLoader()); default: return new GroupTemplate(); } }
@Override public Resource getResource(String key) { ResourceLoaderKeyEntry rlke = this.match(key); if (rlke == null) { return new UnReachableResource(key, this); } return rlke.getResourceLoader().getResource(rlke.getNewKey()); }
/** * 添加一个资源加载器 * * @param matcher {@link Matcher} 匹配器 * @param resourceLoader {@link ResourceLoader} 匹配时对应的资源加载器 * @return {@link ResourceLoaderBuilder} */ public ResourceLoaderBuilder add(Matcher matcher, ResourceLoader resourceLoader) { compositeResourceLoader.addResourceLoader(matcher, resourceLoader); return this; }
@Override public Resource getResource(String key) { ResourceLoaderKeyEntry rlke = this.match(key); if (rlke == null) { return new UnReachableResource(key, this); } return rlke.getResourceLoader().getResource(rlke.getNewKey()); }
/** * 添加一个资源加载器 * @param matcher {@link Matcher} 匹配器 * @param resourceLoader {@link ResourceLoader} 匹配时对应的资源加载器 * @return {@link ResourceLoaderBuilder} */ public ResourceLoaderBuilder add(Matcher matcher, ResourceLoader resourceLoader){ compositeResourceLoader.addResourceLoader(matcher, resourceLoader); return this; }
@Override public String getResourceId(Resource resource, String id) { if (resource == null) return id; //判断如果是同一前缀,则需要考虑相对路径 ResourceLoaderKeyEntry rlke = this.match(id); if (resource.getResourceLoader() == rlke.getResourceLoader()) { return resource.getResourceLoader().getResourceId(resource, id); } else { return id; } }
@Override public String getResourceId(Resource resource, String id) { if (resource == null) return id; //判断如果是同一前缀,则需要考虑相对路径 ResourceLoaderKeyEntry rlke = this.match(id); if (resource.getResourceLoader() == rlke.getResourceLoader()) { return resource.getResourceLoader().getResourceId(resource, id); } else { return id; } }