當前位置: 首頁>>代碼示例>>Java>>正文


Java NodeVisitorFactory類代碼示例

本文整理匯總了Java中com.mitchellbosecke.pebble.extension.NodeVisitorFactory的典型用法代碼示例。如果您正苦於以下問題:Java NodeVisitorFactory類的具體用法?Java NodeVisitorFactory怎麽用?Java NodeVisitorFactory使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


NodeVisitorFactory類屬於com.mitchellbosecke.pebble.extension包,在下文中一共展示了NodeVisitorFactory類的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getPebbleTemplate

import com.mitchellbosecke.pebble.extension.NodeVisitorFactory; //導入依賴的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

示例2: compile

import com.mitchellbosecke.pebble.extension.NodeVisitorFactory; //導入依賴的package包/類
@Override
public String compile(String extension, String source, Map<String, Object> data) {
    try {
        LexerImpl lexer = new LexerImpl(
                engine.getSyntax(),
                engine.getExtensionRegistry().getUnaryOperators().values(),
                engine.getExtensionRegistry().getBinaryOperators().values());
        TokenStream tokenStream = lexer.tokenize(new StringReader(source), "");

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

        PebbleTemplateImpl compiledTemplate = new PebbleTemplateImpl(engine, root, "");

        for (NodeVisitorFactory visitorFactory : engine.getExtensionRegistry().getNodeVisitors()) {
            visitorFactory.createVisitor(compiledTemplate).visit(root);
        }

        Writer writer = new StringWriter();
        compiledTemplate.evaluate(writer, data);

        return writer.toString();
    }
    catch (Exception e) {
        e.printStackTrace();
    }
    return source;
}
 
開發者ID:JavaEden,項目名稱:Orchid,代碼行數:32,代碼來源:PebbleCompiler.java

示例3: getNodeVisitors

import com.mitchellbosecke.pebble.extension.NodeVisitorFactory; //導入依賴的package包/類
public List<NodeVisitorFactory> getNodeVisitors() {
    List<NodeVisitorFactory> visitors = new ArrayList<>();
    visitors.add(prettyPrinter);
    return visitors;
}
 
開發者ID:flapdoodle-oss,項目名稱:de.flapdoodle.solid,代碼行數:6,代碼來源:DebugExtension.java

示例4: getNodeVisitors

import com.mitchellbosecke.pebble.extension.NodeVisitorFactory; //導入依賴的package包/類
@Override
public List<NodeVisitorFactory> getNodeVisitors() {
    List<NodeVisitorFactory> visitors = new ArrayList<>();
    visitors.add(visitorFactory);
    return visitors;
}
 
開發者ID:flapdoodle-oss,項目名稱:de.flapdoodle.solid,代碼行數:7,代碼來源:EscaperExtension.java

示例5: getNodeVisitors

import com.mitchellbosecke.pebble.extension.NodeVisitorFactory; //導入依賴的package包/類
@Override
public List<NodeVisitorFactory> getNodeVisitors() {
  return Collections.EMPTY_LIST;
}
 
開發者ID:mvc-spec,項目名稱:ozark,代碼行數:5,代碼來源:CustomExtensionTwo.java

示例6: getNodeVisitors

import com.mitchellbosecke.pebble.extension.NodeVisitorFactory; //導入依賴的package包/類
@Override
public List<NodeVisitorFactory> getNodeVisitors() {
    return null;
}
 
開發者ID:JavaEden,項目名稱:Orchid,代碼行數:5,代碼來源:AbstractPebbleExtension.java


注:本文中的com.mitchellbosecke.pebble.extension.NodeVisitorFactory類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。