Class JsMessageExtractor


  • @GwtIncompatible("JsMessage.Builder")
    public final class JsMessageExtractor
    extends java.lang.Object
    Extracts messages and message comments from JS code.

    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.

    • Method Detail

      • extractMessages

        public java.util.Collection<JsMessage> extractMessages​(SourceFile... inputs)
                                                        throws java.io.IOException
        Extracts JS messages from JavaScript code.
        Throws:
        java.io.IOException
      • extractMessages

        public <T extends SourceFile> java.util.Collection<JsMessage> extractMessages​(java.lang.Iterable<T> inputs)
        Extracts JS messages from JavaScript code.
        Parameters:
        inputs - the JavaScript source code inputs
        Returns:
        the extracted messages collection
        Throws:
        java.lang.RuntimeException - if there are problems parsing the JS code or the JS messages, or if two messages have the same key