org.stringtemplate.v4.STGroup.setListener()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(14.1k)|赞(0)|评价(0)|浏览(105)

本文整理了Java中org.stringtemplate.v4.STGroup.setListener()方法的一些代码示例,展示了STGroup.setListener()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。STGroup.setListener()方法的具体详情如下:
包路径:org.stringtemplate.v4.STGroup
类名称:STGroup
方法名:setListener

STGroup.setListener介绍

暂无

代码示例

代码示例来源:origin: protostuff/protostuff-compiler

/**
 * Create new {@link StCompiler} instance.
 */
@Inject
public StCompiler(OutputStreamFactory outputStreamFactory,
         @Assisted String templateFileName) {
  super(outputStreamFactory);
  STGroup group = new STGroupFile(templateFileName);
  group.setListener(new StErrorListener());
  this.stGroup = group;
}

代码示例来源:origin: io.protostuff/protostuff-generator

/**
 * Create new {@link StCompiler} instance.
 */
@Inject
public StCompiler(OutputStreamFactory outputStreamFactory,
         @Assisted String templateFileName) {
  super(outputStreamFactory);
  STGroup group = new STGroupFile(templateFileName);
  group.setListener(new StErrorListener());
  this.stGroup = group;
}

代码示例来源:origin: com.facebook.swift/swift-generator

protected STGroup getTemplateGroup(Iterable<String> templateFileNames) throws IOException
{
  if (stg == null) {
    // Convert set of relative paths to .st files into a set of input suppliers
    Iterable<CharSource> templateInputSuppliers =
        Iterables.transform(templateFileNames, FILE_TO_INPUT_SUPPLIER_TRANSFORM);
    // Combine the header and all .st files and load everything into a StringTemplateGroup
    stg = new STGroup();
    stg.setListener(ERROR_LISTENER);
    for (String templateFileName : templateFileNames) {
      stg.importTemplates(getTemplateGroupFromFile(templateFileName));
    }
    for (Map.Entry<Class<?>, ? extends AttributeRenderer> entry : attributeRenderers.entrySet()) {
      Class<?> cls = entry.getKey();
      AttributeRenderer renderer = entry.getValue();
      stg.registerRenderer(cls, renderer);
    }
  }
  return stg;
}

代码示例来源:origin: Nextdoor/bender

/**
 * Parses an input String and replaces instances of {@literal <XXX>}" with the value of the XXX OS
 * Environment Variable. This is used as a pre-parser for the Config files, allowing environment
 * variables to be swapped at run-time.
 *
 * @param raw A raw string (not necessarily valid configuration data)
 * @return A parsed string with OS variables swapped in
 * @throws ConfigurationException If any discovered {@literal <WRAPPED_VALUES>} are not found in
 *         System.getenv().
 */
public static String swapEnvironmentVariables(String raw) throws ConfigurationException {
 ErrorBuffer errors = new ErrorBuffer();
 ST template = new ST(raw);
 STGroup g = template.groupThatCreatedThisInstance;
 g.setListener(errors);
 Map<String, String> env = System.getenv();
 for (String envName : env.keySet()) {
  if (envName.contains(".")) {
   logger.warn("skipping " + envName + " because it contains '.' which is not allowed");
   continue;
  }
  template.add(envName, env.get(envName));
 }
 String parsed = template.render();
 if (errors.errors.size() > 0) {
  throw new ConfigurationException(errors.toString());
 }
 return parsed;
}

代码示例来源:origin: Nextdoor/bender

/**
 * Parses an input String and replaces instances of {@literal <XXX>}" with the value of the XXX OS
 * Environment Variable. This is used as a pre-parser for the Config files, allowing environment
 * variables to be swapped at run-time.
 *
 * @param raw A raw string (not necessarily valid configuration data)
 * @return A parsed string with OS variables swapped in
 * @throws ConfigurationException If any discovered {@literal <WRAPPED_VALUES>} are not found in
 *         System.getenv().
 */
public static String swapEnvironmentVariables(String raw) throws ConfigurationException {
 ErrorBuffer errors = new ErrorBuffer();
 ST template = new ST(raw);
 STGroup g = template.groupThatCreatedThisInstance;
 g.setListener(errors);
 Map<String, String> env = System.getenv();
 for (String envName : env.keySet()) {
  if (envName.contains(".")) {
   logger.warn("skipping " + envName + " because it contains '.' which is not allowed");
   continue;
  }
  template.add(envName, env.get(envName));
 }
 String parsed = template.render();
 if (errors.errors.size() > 0) {
  throw new ConfigurationException(errors.toString());
 }
 return parsed;
}

代码示例来源:origin: org.antlr/stringtemplate

public STViz inspect(ErrorManager errMgr, Locale locale, int lineWidth) {
  ErrorBuffer errors = new ErrorBuffer();
  impl.nativeGroup.setListener(errors);
  StringWriter out = new StringWriter();
  STWriter wr = new AutoIndentWriter(out);
  wr.setLineWidth(lineWidth);
  Interpreter interp =
    new Interpreter(groupThatCreatedThisInstance, locale, true);
  interp.exec(wr, this); // render and track events
  List<InterpEvent> events = interp.getEvents();
  EvalTemplateEvent overallTemplateEval =
    (EvalTemplateEvent)events.get(events.size()-1);
  STViz viz = new STViz(errMgr, overallTemplateEval, out.toString(), interp,
             interp.getExecutionTrace(), errors.errors);
  viz.open();
  return viz;
}

代码示例来源:origin: antlr/stringtemplate4

public STViz inspect(ErrorManager errMgr, Locale locale, int lineWidth) {
  ErrorBuffer errors = new ErrorBuffer();
  impl.nativeGroup.setListener(errors);
  StringWriter out = new StringWriter();
  STWriter wr = new AutoIndentWriter(out);
  wr.setLineWidth(lineWidth);
  Interpreter interp =
    new Interpreter(groupThatCreatedThisInstance, locale, true);
  InstanceScope scope = new InstanceScope(null, this);
  interp.exec(wr, scope); // render and track events
  List<InterpEvent> events = interp.getEvents();
  EvalTemplateEvent overallTemplateEval =
    (EvalTemplateEvent)events.get(events.size()-1);
  STViz viz = new STViz(errMgr, overallTemplateEval, out.toString(), interp,
             interp.getExecutionTrace(), errors.errors);
  viz.open();
  return viz;
}

代码示例来源:origin: antlr/antlr3

messages.setListener(blankSTListener);
boolean messagesOK = verifyMessages();
if ( !messagesOK && language.equals(Locale.US.getLanguage()) ) {

代码示例来源:origin: antlr/antlr3

messages.setListener(blankSTListener);
boolean messagesOK = verifyMessages();
if ( !messagesOK && language.equals(Locale.US.getLanguage()) ) {

代码示例来源:origin: com.impetus.fabric/fabric-jdbc-driver-shaded

public STViz inspect(ErrorManager errMgr, Locale locale, int lineWidth) {
  ErrorBuffer errors = new ErrorBuffer();
  impl.nativeGroup.setListener(errors);
  StringWriter out = new StringWriter();
  STWriter wr = new AutoIndentWriter(out);
  wr.setLineWidth(lineWidth);
  Interpreter interp =
    new Interpreter(groupThatCreatedThisInstance, locale, true);
  InstanceScope scope = new InstanceScope(null, this);
  interp.exec(wr, scope); // render and track events
  List<InterpEvent> events = interp.getEvents();
  EvalTemplateEvent overallTemplateEval =
    (EvalTemplateEvent)events.get(events.size()-1);
  STViz viz = new STViz(errMgr, overallTemplateEval, out.toString(), interp,
             interp.getExecutionTrace(), errors.errors);
  viz.open();
  return viz;
}

代码示例来源:origin: org.antlr/ST4

public STViz inspect(ErrorManager errMgr, Locale locale, int lineWidth) {
  ErrorBuffer errors = new ErrorBuffer();
  impl.nativeGroup.setListener(errors);
  StringWriter out = new StringWriter();
  STWriter wr = new AutoIndentWriter(out);
  wr.setLineWidth(lineWidth);
  Interpreter interp =
    new Interpreter(groupThatCreatedThisInstance, locale, true);
  InstanceScope scope = new InstanceScope(null, this);
  interp.exec(wr, scope); // render and track events
  List<InterpEvent> events = interp.getEvents();
  EvalTemplateEvent overallTemplateEval =
    (EvalTemplateEvent)events.get(events.size()-1);
  STViz viz = new STViz(errMgr, overallTemplateEval, out.toString(), interp,
             interp.getExecutionTrace(), errors.errors);
  viz.open();
  return viz;
}

代码示例来源:origin: io.virtdata/virtdata-lib-realer

public STViz inspect(ErrorManager errMgr, Locale locale, int lineWidth) {
  ErrorBuffer errors = new ErrorBuffer();
  impl.nativeGroup.setListener(errors);
  StringWriter out = new StringWriter();
  STWriter wr = new AutoIndentWriter(out);
  wr.setLineWidth(lineWidth);
  Interpreter interp =
    new Interpreter(groupThatCreatedThisInstance, locale, true);
  InstanceScope scope = new InstanceScope(null, this);
  interp.exec(wr, scope); // render and track events
  List<InterpEvent> events = interp.getEvents();
  EvalTemplateEvent overallTemplateEval =
    (EvalTemplateEvent)events.get(events.size()-1);
  STViz viz = new STViz(errMgr, overallTemplateEval, out.toString(), interp,
             interp.getExecutionTrace(), errors.errors);
  viz.open();
  return viz;
}

代码示例来源:origin: antlr/antlr3

public STViz inspect(ErrorManager errMgr, Locale locale, int lineWidth) {
  ErrorBuffer errors = new ErrorBuffer();
  impl.nativeGroup.setListener(errors);
  StringWriter out = new StringWriter();
  STWriter wr = new AutoIndentWriter(out);
  wr.setLineWidth(lineWidth);
  Interpreter interp =
    new Interpreter(groupThatCreatedThisInstance, locale, true);
  InstanceScope scope = new InstanceScope(null, this);
  interp.exec(wr, scope); // render and track events
  List<InterpEvent> events = interp.getEvents();
  EvalTemplateEvent overallTemplateEval =
    (EvalTemplateEvent)events.get(events.size()-1);
  STViz viz = new STViz(errMgr, overallTemplateEval, out.toString(), interp,
             interp.getExecutionTrace(), errors.errors);
  viz.open();
  return viz;
}

代码示例来源:origin: jsevellec/cassandra-unit

public STViz inspect(ErrorManager errMgr, Locale locale, int lineWidth) {
  ErrorBuffer errors = new ErrorBuffer();
  impl.nativeGroup.setListener(errors);
  StringWriter out = new StringWriter();
  STWriter wr = new AutoIndentWriter(out);
  wr.setLineWidth(lineWidth);
  Interpreter interp =
    new Interpreter(groupThatCreatedThisInstance, locale, true);
  InstanceScope scope = new InstanceScope(null, this);
  interp.exec(wr, scope); // render and track events
  List<InterpEvent> events = interp.getEvents();
  EvalTemplateEvent overallTemplateEval =
    (EvalTemplateEvent)events.get(events.size()-1);
  STViz viz = new STViz(errMgr, overallTemplateEval, out.toString(), interp,
             interp.getExecutionTrace(), errors.errors);
  viz.open();
  return viz;
}

代码示例来源:origin: apache/servicemix-bundles

public STViz inspect(ErrorManager errMgr, Locale locale, int lineWidth) {
  ErrorBuffer errors = new ErrorBuffer();
  impl.nativeGroup.setListener(errors);
  StringWriter out = new StringWriter();
  STWriter wr = new AutoIndentWriter(out);
  wr.setLineWidth(lineWidth);
  Interpreter interp =
    new Interpreter(groupThatCreatedThisInstance, locale, true);
  InstanceScope scope = new InstanceScope(null, this);
  interp.exec(wr, scope); // render and track events
  List<InterpEvent> events = interp.getEvents();
  EvalTemplateEvent overallTemplateEval =
    (EvalTemplateEvent)events.get(events.size()-1);
  STViz viz = new STViz(errMgr, overallTemplateEval, out.toString(), interp,
             interp.getExecutionTrace(), errors.errors);
  viz.open();
  return viz;
}

代码示例来源:origin: antlr/antlr3

/** The format gets reset either from the Tool if the user supplied a command line option to that effect
 *  Otherwise we just use the default "antlr".
 */
public static void setFormat(String formatName) {
  ErrorManager.formatName = formatName;
  String fileName = "org/antlr/tool/templates/messages/formats/"+formatName+".stg";
  format = new STGroupFile(fileName);
  format.setListener(initSTListener);
  if ( !format.isDefined("message") ) { // pick random msg to load
    if ( formatName.equals("antlr") ) {
      rawError("no such message format file "+fileName+" retrying with default ANTLR format");
      setFormat("antlr"); // recurse on this rule, trying the default message format
      return;
    }
    else {
      setFormat("antlr"); // recurse on this rule, trying the default message format
    }
  }
  format.setListener(blankSTListener);
  boolean formatOK = verifyFormat();
  if ( !formatOK && formatName.equals("antlr") ) {
    rawError("ANTLR installation corrupted; ANTLR messages format file "+formatName+".stg incomplete");
    panic();
  }
  else if ( !formatOK ) {
    setFormat("antlr"); // recurse on this rule, trying the default message format
  }
}

代码示例来源:origin: antlr/antlr3

/** The format gets reset either from the Tool if the user supplied a command line option to that effect
 *  Otherwise we just use the default "antlr".
 */
public static void setFormat(String formatName) {
  ErrorManager.formatName = formatName;
  String fileName = "org/antlr/tool/templates/messages/formats/"+formatName+".stg";
  format = new STGroupFile(fileName);
  format.setListener(initSTListener);
  if ( !format.isDefined("message") ) { // pick random msg to load
    if ( formatName.equals("antlr") ) {
      rawError("no such message format file "+fileName+" retrying with default ANTLR format");
      setFormat("antlr"); // recurse on this rule, trying the default message format
      return;
    }
    else {
      setFormat("antlr"); // recurse on this rule, trying the default message format
    }
  }
  format.setListener(blankSTListener);
  boolean formatOK = verifyFormat();
  if ( !formatOK && formatName.equals("antlr") ) {
    rawError("ANTLR installation corrupted; ANTLR messages format file "+formatName+".stg incomplete");
    panic();
  }
  else if ( !formatOK ) {
    setFormat("antlr"); // recurse on this rule, trying the default message format
  }
}

代码示例来源:origin: org.antlr/antlr4

@Override
protected STGroup loadTemplates() {
  STGroup result = super.loadTemplates();
  result.registerRenderer(Integer.class, new NumberRenderer());
  result.registerRenderer(String.class, new StringRenderer());
  result.setListener(new STErrorListener() {
    @Override
    public void compileTimeError(STMessage msg) {
      reportError(msg);
    }
    @Override
    public void runTimeError(STMessage msg) {
      reportError(msg);
    }
    @Override
    public void IOError(STMessage msg) {
      reportError(msg);
    }
    @Override
    public void internalError(STMessage msg) {
      reportError(msg);
    }
    private void reportError(STMessage msg) {
      getCodeGenerator().tool.errMgr.toolError(ErrorType.STRING_TEMPLATE_WARNING, msg.cause, msg.toString());
    }
  });
  return result;
}

代码示例来源:origin: io.virtdata/virtdata-lib-realer

@Override
protected STGroup loadTemplates() {
  STGroup result = super.loadTemplates();
  result.registerRenderer(Integer.class, new NumberRenderer());
  result.registerRenderer(String.class, new StringRenderer());
  result.setListener(new STErrorListener() {
    @Override
    public void compileTimeError(STMessage msg) {
      reportError(msg);
    }
    @Override
    public void runTimeError(STMessage msg) {
      reportError(msg);
    }
    @Override
    public void IOError(STMessage msg) {
      reportError(msg);
    }
    @Override
    public void internalError(STMessage msg) {
      reportError(msg);
    }
    private void reportError(STMessage msg) {
      getCodeGenerator().tool.errMgr.toolError(ErrorType.STRING_TEMPLATE_WARNING, msg.cause, msg.toString());
    }
  });
  return result;
}

代码示例来源:origin: org.antlr/antlr4

@Override
protected STGroup loadTemplates() {
  // override the superclass behavior to put all C# templates in the same folder
  STGroup result = new STGroupFile(CodeGenerator.TEMPLATE_ROOT+"/CSharp/"+getLanguage()+STGroup.GROUP_FILE_EXTENSION);
  result.registerRenderer(Integer.class, new NumberRenderer());
  result.registerRenderer(String.class, new StringRenderer());
  result.setListener(new STErrorListener() {
    @Override
    public void compileTimeError(STMessage msg) {
      reportError(msg);
    }
    @Override
    public void runTimeError(STMessage msg) {
      reportError(msg);
    }
    @Override
    public void IOError(STMessage msg) {
      reportError(msg);
    }
    @Override
    public void internalError(STMessage msg) {
      reportError(msg);
    }
    private void reportError(STMessage msg) {
      getCodeGenerator().tool.errMgr.toolError(ErrorType.STRING_TEMPLATE_WARNING, msg.cause, msg.toString());
    }
  });
  return result;
}

相关文章

微信公众号

最新文章

更多