Class ReplacedStringsDecoder


  • @Immutable
    public final class ReplacedStringsDecoder
    extends java.lang.Object
    A decoder for strings encoded by the ReplaceStrings JS compiler pass. This class is immutable.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String decode​(java.lang.String encodedStr)
      Decodes an encoded string from the JS Compiler ReplaceStrings pass.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ARGUMENT_PLACE_HOLDER

        public static final java.lang.String ARGUMENT_PLACE_HOLDER
        See Also:
        Constant Field Values
    • Constructor Detail

      • ReplacedStringsDecoder

        public ReplacedStringsDecoder​(VariableMap variableMap)
    • Method Detail

      • decode

        public java.lang.String decode​(java.lang.String encodedStr)
        Decodes an encoded string from the JS Compiler ReplaceStrings pass.

        An original string with args might look like this:

          Error('Some ' + arg1 + ' error ' + arg2 + ' message.');
        Which gets replaced with:
          Error('key' + '`' + arg1 + '`' + arg2);
        Where ` is the argument place holder. The replacement mapping would be:
          key → 'Some ` error ` message.'
        Where key is some arbitrary replacement string. An encoded string, with args, from the client will look like:
          'key`arg1`arg2'
        Parameters:
        encodedStr - An encoded string.
        Returns:
        The decoded string, or the encoded string if it fails to decode.
        See Also:
        ReplaceStrings