@GwtIncompatible(value="JsMessage.Builder")
public final class JsMessageExtractor
extends java.lang.Object
Uses a special prefix (e.g. MSG_
) to determine which variables
are messages. Here are the recognized formats:
var MSG_FOO = "foo";
var MSG_FOO_HELP = "this message is used for foo";
var MSG_BAR = function(a, b) {
return a + " bar " + b;
}
var MSG_BAR_HELP = "the bar message";
This class enforces the policy that message variable names must be unique across all JS files.
Modifier and Type | Class and Description |
---|---|
private class |
JsMessageExtractor.ExtractMessagesVisitor
Visitor that collects messages.
|
Modifier and Type | Field and Description |
---|---|
private boolean |
extractExternalMessages |
private JsMessage.IdGenerator |
idGenerator |
private CompilerOptions |
options |
private JsMessage.Style |
style |
Constructor and Description |
---|
JsMessageExtractor(JsMessage.IdGenerator idGenerator,
JsMessage.Style style) |
JsMessageExtractor(JsMessage.IdGenerator idGenerator,
JsMessage.Style style,
CompilerOptions options,
boolean extractExternalMessages) |
Modifier and Type | Method and Description |
---|---|
<T extends SourceFile> |
extractMessages(java.lang.Iterable<T> inputs)
Extracts JS messages from JavaScript code.
|
java.util.Collection<JsMessage> |
extractMessages(SourceFile... inputs)
Extracts JS messages from JavaScript code.
|
private final JsMessage.Style style
private final JsMessage.IdGenerator idGenerator
private final CompilerOptions options
private final boolean extractExternalMessages
public JsMessageExtractor(JsMessage.IdGenerator idGenerator, JsMessage.Style style)
public JsMessageExtractor(JsMessage.IdGenerator idGenerator, JsMessage.Style style, CompilerOptions options, boolean extractExternalMessages)
public java.util.Collection<JsMessage> extractMessages(SourceFile... inputs) throws java.io.IOException
java.io.IOException
public <T extends SourceFile> java.util.Collection<JsMessage> extractMessages(java.lang.Iterable<T> inputs)
inputs
- the JavaScript source code inputsjava.lang.RuntimeException
- if there are problems parsing the JS code or the
JS messages, or if two messages have the same key