Package org.stringtemplate.v4

Source Code of org.stringtemplate.v4.STRawGroupDir

package org.stringtemplate.v4;

import org.antlr.runtime.CharStream;
import org.antlr.runtime.CommonToken;
import org.stringtemplate.v4.compiler.*;
import org.stringtemplate.v4.compiler.Compiler;
import org.stringtemplate.v4.misc.Misc;

import java.net.URL;

/** A directory of templates without headers like ST v3 had.  Still allows group
*  files in directory though like {@link STGroupDir} parent.
*/
public class STRawGroupDir extends STGroupDir {
  public STRawGroupDir(String dirName) {
    super(dirName);
  }

  public STRawGroupDir(String dirName, char delimiterStartChar, char delimiterStopChar) {
    super(dirName, delimiterStartChar, delimiterStopChar);
  }

  public STRawGroupDir(String dirName, String encoding) {
    super(dirName, encoding);
  }

  public STRawGroupDir(String dirName, String encoding, char delimiterStartChar, char delimiterStopChar) {
    super(dirName, encoding, delimiterStartChar, delimiterStopChar);
  }

  public STRawGroupDir(URL root, String encoding, char delimiterStartChar, char delimiterStopChar) {
    super(root, encoding, delimiterStartChar, delimiterStopChar);
  }

  @Override
  public CompiledST loadTemplateFile(String prefix, String unqualifiedFileName,
                     CharStream templateStream)
  {
    String template = templateStream.substring(0, templateStream.size() - 1);
    String templateName = Misc.getFileNameNoSuffix(unqualifiedFileName);
    String fullyQualifiedTemplateName = prefix + templateName;
    CompiledST impl = new Compiler(this).compile(fullyQualifiedTemplateName, template);
    CommonToken nameT = new CommonToken(STLexer.SEMI); // Seems like a hack, best I could come up with.
    nameT.setInputStream(templateStream);
    rawDefineTemplate(fullyQualifiedTemplateName, impl, nameT);
    impl.defineImplicitlyDefinedTemplates(this);
    return impl;
  }
}
TOP

Related Classes of org.stringtemplate.v4.STRawGroupDir

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.