• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java LoaderException类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.mitchellbosecke.pebble.error.LoaderException的典型用法代码示例。如果您正苦于以下问题:Java LoaderException类的具体用法?Java LoaderException怎么用?Java LoaderException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



LoaderException类属于com.mitchellbosecke.pebble.error包,在下文中一共展示了LoaderException类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(DelegatingLoaderCacheKey cacheKey) throws LoaderException {

    Reader reader = null;

    final int size = this.loaders.size();
    for (int i = 0; i < size; i++) {
        Loader<?> loader = this.loaders.get(i);
        Object delegatingKey = cacheKey.getDelegatingCacheKeys().get(i);
        try {
            reader = this.getReaderInner(loader, delegatingKey);
            if (reader != null) {
                break;
            }
        } catch (LoaderException e) {
            // do nothing
        }
    }
    if (reader == null) {
        throw new LoaderException(null, "Could not find template \"" + cacheKey.getTemplateName() + "\"");
    }

    return reader;
}
 
开发者ID:flapdoodle-oss,项目名称:de.flapdoodle.solid,代码行数:25,代码来源:DelegatingLoader.java


示例2: getPebbleTemplate

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
private PebbleTemplate getPebbleTemplate(final PebbleEngine self, final String templateName, final Object cacheKey) throws LoaderException, ParserException {
    LexerImpl lexer = new LexerImpl(syntax, extensionRegistry.getUnaryOperators().values(),
            extensionRegistry.getBinaryOperators().values());
    Reader templateReader = self.retrieveReaderFromLoader(self.loader, cacheKey);
    TokenStream tokenStream = lexer.tokenize(templateReader, templateName);

    Parser parser = new ParserImpl(extensionRegistry.getUnaryOperators(),
            extensionRegistry.getBinaryOperators(), extensionRegistry.getTokenParsers());
    RootNode root = parser.parse(tokenStream);

    PebbleTemplateImpl instance = new PebbleTemplateImpl(self, root, templateName);

    for (NodeVisitorFactory visitorFactory : extensionRegistry.getNodeVisitors()) {
        visitorFactory.createVisitor(instance).visit(root);
    }

    return instance;
}
 
开发者ID:flapdoodle-oss,项目名称:de.flapdoodle.solid,代码行数:19,代码来源:PebbleEngine.java


示例3: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(String templateName) throws LoaderException {
  
  Path template = contentDir.getFileSystem().getPath(templateName).normalize();

  try {
    if (template.startsWith(contentDir)) {
      return new StringReader(Renderer.getContentFileResource(template, contentDir, root).getContent().orElseThrow(IllegalArgumentException::new));
    } else if (template.startsWith(layoutDir)) {
      return newBufferedReader(template, StandardCharsets.UTF_8);
    } else {
      // it's outside the content dir: must be resolved over the baseDir
      return newBufferedReader(baseDir.resolve(template), StandardCharsets.UTF_8);
    }
  } catch (IOException ioe) {
    throw new LoaderException(ioe, "was not able to load referenced template");
  }
}
 
开发者ID:digitalfondue,项目名称:stampo,代码行数:19,代码来源:PebblePathLoader.java


示例4: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(String templateName) throws LoaderException {
    String[] parts = templateName.split("/", 2);

    if (parts.length != 2) {
        throw new IllegalArgumentException("Not a valid name: " + templateName);
    }
    CMSTheme theme = CMSTheme.forType(parts[0]);
    if (theme == null) {
        throw new IllegalArgumentException("Theme " + parts[0] + " not found!");
    }

    byte[] bytes = theme.contentForPath(parts[1]);
    if (bytes == null) {
        throw new IllegalArgumentException("Theme " + parts[0] + " does not contain resource '" + parts[1] + '"');
    }
    return new InputStreamReader(new ByteArrayInputStream(bytes), StandardCharsets.UTF_8);
}
 
开发者ID:FenixEdu,项目名称:fenixedu-cms,代码行数:19,代码来源:CMSRenderer.java


示例5: getTemplate

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
private PebbleTemplate getTemplate(String templateName, String localePart) throws PebbleException {
    PebbleTemplate template = null;
    try {
        if (Strings.isNullOrEmpty(localePart)) {
            template = engine.getTemplate(templateName);
        } else {
            String localizedName = StringUtils.removeEnd(templateName, "." +
                getFileExtension()) + "_" + localePart;
            template = engine.getTemplate(localizedName);
        }
    } catch (LoaderException e) {
        log.debug(e.getMessage());
    }

    return template;
}
 
开发者ID:decebals,项目名称:pippo,代码行数:17,代码来源:PebbleTemplateEngine.java


示例6: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(String cacheKey) throws LoaderException {
	Maybe<StringReader> reader = Maybe.ofNullable(templates.get(cacheKey))
			.map(StringReader::new);
	
	if (!reader.isPresent()) {
		throw new LoaderException(new RuntimeException("not in map"), "could not load "+cacheKey);
	}
	
	return reader.get();
}
 
开发者ID:flapdoodle-oss,项目名称:de.flapdoodle.solid,代码行数:12,代码来源:StringMapLoader.java


示例7: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(String cacheKey) throws LoaderException {
	try {
		return new FileReader(templateRoot.resolve(cacheKey).toFile());
	}
	catch (FileNotFoundException e) {
		throw new LoaderException(e, "could not load "+cacheKey);
	}
}
 
开发者ID:flapdoodle-oss,项目名称:de.flapdoodle.solid,代码行数:10,代码来源:TemplateLoader.java


示例8: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(String templateName) throws LoaderException {

    InputStreamReader isr = null;
    Reader reader = null;

    InputStream is = null;

    // Add the prefix and make sure that it ends with a separator character
    StringBuilder path = new StringBuilder(128);
    if (getPrefix() != null) {

        path.append(getPrefix());

        // we do NOT use OS dependent separators here; getResourceAsStream
        // explicitly requires forward slashes.
        if (!getPrefix().endsWith(Character.toString(expectedSeparator))) {
            path.append(expectedSeparator);
        }
    }
    path.append(templateName);
    if (getSuffix() != null)
        path.append(getSuffix());
    String location = path.toString();
    logger.debug("Looking for template in {}.", location);

    is = context.getResourceAsStream(location);

    if (is == null) {
        throw new LoaderException(null, "Could not find template \"" + location + "\"");
    }

    try {
        isr = new InputStreamReader(is, charset);
        reader = new BufferedReader(isr);
    } catch (UnsupportedEncodingException e) {
    }

    return reader;
}
 
开发者ID:flapdoodle-oss,项目名称:de.flapdoodle.solid,代码行数:41,代码来源:ServletLoader.java


示例9: getReaderInner

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
private <T> Reader getReaderInner(Loader<T> delegatingLoader, Object cacheKey)
        throws LoaderException {

    // This unchecked cast is ok, because we ensure that the type of the
    // cache key corresponds to the loader when we create the key.
    @SuppressWarnings("unchecked")
    T castedKey = (T) cacheKey;

    return delegatingLoader.getReader(castedKey);
}
 
开发者ID:flapdoodle-oss,项目名称:de.flapdoodle.solid,代码行数:11,代码来源:DelegatingLoader.java


示例10: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(final String resourceName) throws LoaderException {
    final String fullyQualifiedResourceName = getFullyQualifiedResourceName(resourceName);
    final Resource resource = resourceLoader.getResource(fullyQualifiedResourceName);
    if (resource.exists()) {
        try {
            return new InputStreamReader(resource.getInputStream(), charset);
        } catch (IOException e) {
            throw new LoaderException(e, "Failed to load template: " + fullyQualifiedResourceName);
        }
    }
    throw new LoaderException(null, "No template exists named: " + fullyQualifiedResourceName);
}
 
开发者ID:LionelWoody,项目名称:spring-boot-starter-pebble,代码行数:14,代码来源:PebbleTemplateLoader.java


示例11: testGetReaderFailsOnUnknownResource

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Test
public void testGetReaderFailsOnUnknownResource() throws Exception {
    //Arrange
    thrown.expect(LoaderException.class);

    final String resourceName = UUID.randomUUID().toString();

    //Act
    pebbleTemplateLoader.getReader(resourceName);

    //Assert
    fail(String.format("Expected a LoaderException, while the given resource '%s' exists", resourceName));
}
 
开发者ID:LionelWoody,项目名称:spring-boot-starter-pebble,代码行数:14,代码来源:PebbleTemplateLoaderTest.java


示例12: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(String templateName) throws LoaderException {

    StringBuilder path = new StringBuilder("");
    if (getPrefix() != null) {

        path.append(getPrefix());

        if (!getPrefix().endsWith(String.valueOf('/'))) {
            path.append('/');
        }
    }

    String resource = path.toString() + templateName + (getSuffix() == null ? "" : getSuffix());
    String location = resource;
    if (resource.charAt(0) == '/') {
        location = resource.substring(1);
    }
    URL url = ClasspathUtils.locateOnClasspath(location);

    if (url == null) {
        throw new LoaderException(null, "Could not find template \"" + location + "\"");
    }

    Reader reader = null;
    try {
        InputStream is = url.openStream();
        InputStreamReader isr = new InputStreamReader(is, getCharset());
        reader = new BufferedReader(isr);
    } catch (IOException e) {
        throw new PippoRuntimeException(e);
    }

    return reader;
}
 
开发者ID:decebals,项目名称:pippo,代码行数:36,代码来源:PippoTemplateLoader.java


示例13: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(String s) throws LoaderException {
  try {
    final String buffer = Utils.readFileToString(vertx, s, charset);
    return new StringReader(buffer);
  } catch (RuntimeException e) {
    throw new LoaderException(e, e.getMessage());
  }
}
 
开发者ID:vert-x3,项目名称:vertx-web,代码行数:10,代码来源:PebbleVertxLoader.java


示例14: render

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public void render(final View view, final Renderer.Context ctx) throws Exception {
  String vname = view.name();
  try {
    Map<String, Object> locals = ctx.locals();

    if (vname.charAt(0) == '/') {
      vname = vname.substring(1);
    }
    PebbleTemplate template = pebble.getTemplate(vname);
    Writer writer = new StringWriter();
    Map<String, Object> model = new HashMap<>();

    // push locals
    model.putAll(locals);
    model.putIfAbsent("_vname", vname);

    // Locale:
    Locale locale = (Locale) locals.getOrDefault("locale", ctx.locale());
    model.putIfAbsent("locale", locale);

    // put model
    model.putAll(view.model());

    // render and send
    template.evaluate(writer, model, locale);

    ctx.type(MediaType.html)
        .send(writer.toString());
  } catch (LoaderException x) {
    FileNotFoundException fnf = new FileNotFoundException(x.getMessage().replace("Could not find template", "").trim());
    fnf.initCause(x);
    throw fnf;
  }
}
 
开发者ID:jooby-project,项目名称:jooby,代码行数:36,代码来源:PebbleRenderer.java


示例15: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(String templateName) throws LoaderException {

    InputStreamReader isr = null;
    Reader reader = null;

    InputStream is = null;

    // append the prefix and make sure prefix ends with a separator character
    StringBuilder path = new StringBuilder(128);
    if (getPrefix() != null) {

        path.append(getPrefix());

        // we do NOT use OS dependent separators here; getResourceAsStream
        // explicitly requires forward slashes.
        if (!getPrefix().endsWith(Character.toString(expectedSeparator))) {
            path.append(expectedSeparator);
        }
    }
    path.append(templateName);
    if (getSuffix() != null)
        path.append(getSuffix());
    String location = path.toString();
    logger.debug("Looking for template in {}.", location);

    // perform the lookup
    is = rcl.getResourceAsStream(location);

    if (is == null) {
        throw new LoaderException(null, "Could not find template \"" + location + "\"");
    }

    try {
        isr = new InputStreamReader(is, charset);
        reader = new BufferedReader(isr);
    } catch (UnsupportedEncodingException e) {
    }

    return reader;
}
 
开发者ID:flapdoodle-oss,项目名称:de.flapdoodle.solid,代码行数:42,代码来源:ClasspathLoader.java


示例16: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(String templateName) throws LoaderException {
    return new StringReader(templateName);
}
 
开发者ID:flapdoodle-oss,项目名称:de.flapdoodle.solid,代码行数:5,代码来源:StringLoader.java


示例17: sample

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Test
public void sample() throws PebbleException, IOException {
	Loader<String> loader=new Loader<String>() {

		@Override
		public Reader getReader(String cacheKey) throws LoaderException {
			return new StringReader("{{ foo }}");
		}

		@Override
		public void setCharset(String charset) {
			throw new IllegalArgumentException("what?");
		}

		@Override
		public void setPrefix(String prefix) {
			throw new IllegalArgumentException("what?");
		}

		@Override
		public void setSuffix(String suffix) {
			throw new IllegalArgumentException("what?");
		}

		@Override
		public String resolveRelativePath(String relativePath, String anchorPath) {
			return "fuuu";
		}

		@Override
		public String createCacheKey(String templateName) {
			return templateName;
		}
		
	};
	PebbleEngine engine = new PebbleEngine.Builder()
			.loader(loader)
			.build();
	
	PebbleTemplate template = engine.getTemplate("sample.html");
	
	StringWriter writer = new StringWriter();
	Map<String, Object> context=ImmutableMap.of("foo","what?");
	template.evaluate(writer, context, Locale.GERMANY);
	
	String result = writer.toString();
	assertEquals("what?",result);
}
 
开发者ID:flapdoodle-oss,项目名称:de.flapdoodle.solid,代码行数:49,代码来源:PebbleThemeTest.java


示例18: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(String templateName) throws LoaderException {
    throw new LoaderException(null, "Could not find template ");
}
 
开发者ID:flapdoodle-oss,项目名称:de.flapdoodle.solid,代码行数:5,代码来源:LoaderTest.java


示例19: getReader

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
@Override
public Reader getReader(String templateName) throws LoaderException {
    templateName = templateName.replaceAll("::.*::", "");

    boolean ignoreMissing = false;

    if(templateName.startsWith("?")) {
        ignoreMissing = true;
        templateName = StringUtils.stripStart(templateName, "?");
    }

    if(!templateName.contains(".")) {
        templateName = templateName + "." + context.getTheme().getPreferredTemplateExtension();
    }

    if(templateName.contains(",")) {
        String[] templates = templateName.split(",");

        for(String template : templates) {
            try {
                Reader reader = getReaderFromSingleFile(template, false);
                if(reader != null) {
                    return reader;
                }
            }
            catch (LoaderException e) {

            }
        }

        if(ignoreMissing) {
            return new StringReader("");
        }
        else {
            throw new LoaderException(null, "Could not find template in list \"" + templateName + "\"");
        }
    }
    else {
        return getReaderFromSingleFile(templateName, ignoreMissing);
    }
}
 
开发者ID:JavaEden,项目名称:Orchid,代码行数:42,代码来源:PebbleTemplateLoader.java


示例20: getReaderFromSingleFile

import com.mitchellbosecke.pebble.error.LoaderException; //导入依赖的package包/类
private Reader getReaderFromSingleFile(String templateName, boolean ignoreMissing) throws LoaderException {
    templateName = OrchidUtils.normalizePath(templateName);

    InputStreamReader isr = null;
    Reader reader = null;

    InputStream is = null;

    // add the prefix and ensure the prefix ends with a separator character
    StringBuilder path = new StringBuilder("");
    if (getPrefix() != null) {
        path.append(getPrefix());

        if (!getPrefix().endsWith("/")) {
            path.append("/");
        }
    }

    templateName = templateName + (getSuffix() == null ? "" : getSuffix());

    /*
     * if template name contains path segments, move those segments into the
     * path variable. The below technique needs to know the difference
     * between the path and file name.
     */
    String[] pathSegments = templateName.split("/");

    if (pathSegments.length > 1) {
        // file name is the last segment
        templateName = pathSegments[pathSegments.length - 1];
    }
    for (int i = 0; i < (pathSegments.length - 1); i++) {
        path.append(pathSegments[i]).append(File.separatorChar);
    }

    String fullFileName = OrchidUtils.normalizePath(path.toString() + templateName);

    if(!fullFileName.startsWith("templates/")) {
        fullFileName = "templates/" + fullFileName;
    }

    // try to load File
    if (is == null) {
        OrchidResource resource = context.getResourceEntry(fullFileName);
        if (resource != null) {
            is = resource.getContentStream();
        }
    }

    if (is == null) {
        if(ignoreMissing) {
            return new StringReader("");
        }
        else {
            throw new LoaderException(null, "Could not find template \"" + fullFileName + "\"");
        }
    }

    try {
        isr = new InputStreamReader(is, charset);
        reader = new BufferedReader(isr);
    }
    catch (UnsupportedEncodingException e) {
    }

    return reader;
}
 
开发者ID:JavaEden,项目名称:Orchid,代码行数:68,代码来源:PebbleTemplateLoader.java



注:本文中的com.mitchellbosecke.pebble.error.LoaderException类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Learner类代码示例发布时间:2022-05-23
下一篇:
Java TIntCharMap类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap