Class LocalePropertyProviderGenerator

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String generate​(TreeLogger logger, java.util.SortedSet<java.lang.String> possibleValues, java.lang.String fallback, java.util.SortedSet<ConfigurationProperty> configProperties)
      Generate a property provider.
      protected void generateCookieLookup​(TreeLogger logger, com.google.gwt.user.rebind.SourceWriter body, java.lang.String cookieName)
      Generate JS code that looks up the locale value from a cookie.
      protected void generateInheritanceLookup​(TreeLogger logger, com.google.gwt.user.rebind.SourceWriter body)
      Generate JS code that takes the value of the "locale" variable and finds parent locales until the value is a supported locale or the default locale.
      protected void generateMetaLookup​(TreeLogger logger, com.google.gwt.user.rebind.SourceWriter body)
      Generate JS code to fetch the locale from a meta property.
      protected void generateQueryParamLookup​(TreeLogger logger, com.google.gwt.user.rebind.SourceWriter body, java.lang.String queryParam)
      Generate JS code to get the locale from a query parameter.
      protected void generateUserAgentLookup​(TreeLogger logger, com.google.gwt.user.rebind.SourceWriter body)
      Generate JS code to fetch the locale from the user agent's compile-time locale.
      protected static boolean isTrue​(java.lang.String value)
      Return true when the supplied value represents a true/yes/on value.
      protected boolean validateCookieName​(java.lang.String cookieName)
      Validate that a name is a valid cookie name.
      protected boolean validateQueryParam​(java.lang.String queryParam)
      Validate that a value is a valid query parameter name.
      • Methods inherited from class java.lang.Object

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

      • LOCALE_QUERYPARAM

        public static final java.lang.String LOCALE_QUERYPARAM
        See Also:
        Constant Field Values
      • LOCALE_SEARCHORDER

        public static final java.lang.String LOCALE_SEARCHORDER
        See Also:
        Constant Field Values
      • LOCALE_USERAGENT

        public static final java.lang.String LOCALE_USERAGENT
        See Also:
        Constant Field Values
      • COOKIE_PATTERN

        protected static final java.util.regex.Pattern COOKIE_PATTERN
      • QUERYPARAM_PATTERN

        protected static final java.util.regex.Pattern QUERYPARAM_PATTERN
    • Constructor Detail

      • LocalePropertyProviderGenerator

        public LocalePropertyProviderGenerator()
    • Method Detail

      • isTrue

        protected static boolean isTrue​(java.lang.String value)
        Return true when the supplied value represents a true/yes/on value.
        Parameters:
        value -
        Returns:
        true if the string represents true/yes/on
      • generate

        public java.lang.String generate​(TreeLogger logger,
                                         java.util.SortedSet<java.lang.String> possibleValues,
                                         java.lang.String fallback,
                                         java.util.SortedSet<ConfigurationProperty> configProperties)
                                  throws UnableToCompleteException
        Description copied from interface: PropertyProviderGenerator
        Generate a property provider.
        Specified by:
        generate in interface PropertyProviderGenerator
        Parameters:
        logger - TreeLogger
        possibleValues - the possible values of this property
        fallback - the fallback value for this property, or null
        configProperties - the configuration properties for this module
        Returns:
        the JS source of the property provider (the complete body of a JS function taking no arguments, including open/close braces), or null to use the default implementation in the property-provider tag
        Throws:
        UnableToCompleteException - after logging the message if processing is unable to continue
      • generateCookieLookup

        protected void generateCookieLookup​(TreeLogger logger,
                                            com.google.gwt.user.rebind.SourceWriter body,
                                            java.lang.String cookieName)
                                     throws UnableToCompleteException
        Generate JS code that looks up the locale value from a cookie.
        Parameters:
        logger - logger to use
        body -
        cookieName -
        Throws:
        UnableToCompleteException
      • generateInheritanceLookup

        protected void generateInheritanceLookup​(TreeLogger logger,
                                                 com.google.gwt.user.rebind.SourceWriter body)
                                          throws UnableToCompleteException
        Generate JS code that takes the value of the "locale" variable and finds parent locales until the value is a supported locale or the default locale.
        Parameters:
        logger - logger to use
        body -
        Throws:
        UnableToCompleteException
      • generateQueryParamLookup

        protected void generateQueryParamLookup​(TreeLogger logger,
                                                com.google.gwt.user.rebind.SourceWriter body,
                                                java.lang.String queryParam)
                                         throws UnableToCompleteException
        Generate JS code to get the locale from a query parameter.
        Parameters:
        logger - logger to use
        body - where to append JS output
        queryParam - the query parameter to use
        Throws:
        UnableToCompleteException
      • generateUserAgentLookup

        protected void generateUserAgentLookup​(TreeLogger logger,
                                               com.google.gwt.user.rebind.SourceWriter body)
                                        throws UnableToCompleteException
        Generate JS code to fetch the locale from the user agent's compile-time locale.
        Parameters:
        logger - logger to use
        body -
        Throws:
        UnableToCompleteException
      • validateCookieName

        protected boolean validateCookieName​(java.lang.String cookieName)
        Validate that a name is a valid cookie name.
        Parameters:
        cookieName -
        Returns:
        true if cookieName is an acceptable cookie name
      • validateQueryParam

        protected boolean validateQueryParam​(java.lang.String queryParam)
        Validate that a value is a valid query parameter name.
        Parameters:
        queryParam -
        Returns:
        true if queryParam is a valid query parameter name.