本文整理了Java中org.stringtemplate.v4.STGroup.setListener()
方法的一些代码示例,展示了STGroup.setListener()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。STGroup.setListener()
方法的具体详情如下:
包路径:org.stringtemplate.v4.STGroup
类名称: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;
}
内容来源于网络,如有侵权,请联系作者删除!