Class ApplicationContext


  • public class ApplicationContext
    extends Object
    The ApplicationContext class provides an application with a globalization configuration environment and controls application scope operations in the GDK framework.

    Generally in a J2EE based application, the application code does not need to explicitly create an ApplicationContext object, but rather retrieves an instance by calling the ServletHelper.getApplicationContextInstance(HttpServletRequest) method. In JSP/Servlet based applications, the ApplicationContext is driven by the GDK Application Configuration file gdkapp.xml. The elements of the configuration file, for example: application-locales, page-charset, locale-charset-maps, etc... map to methods in this class. To better understand the various configuration elements, see the The GDK Application Configuration File section of the Globalization Development Guidelines document.

    An instance of this object must be created at startup time of the application either by the ContextListener object or in a custom context listener for Java/JSP server applications and be registered in the servlet context with the key ApplicationContext.OBJECT.

    Since:
    10.1.0.2
    • Field Detail

      • OBJECT_KEY

        public static final String OBJECT_KEY
        Constant for the key name used to retrieve the ApplicationContext object.
        See Also:
        Constant Field Values
      • DEFAULT_GDKAPP

        public static final String DEFAULT_GDKAPP
        The Constant for the name of the default GDK application configuration file.
        See Also:
        Constant Field Values
    • Method Detail

      • getIANAPageCharacterSet

        public String getIANAPageCharacterSet()
        Returns the default IANA page character set name of the application or returns the string AUTO-CHARSET. If the value AUTO-CHARSET is set, this implies that the GDK framework automatically assigns an appropriate character set value based on the locale.

        If the AUTO-CHARSET value is set, you may retrieve the resolved character set name by using the Localizer.getIANACharacterSet() method.

        Returns:
        an IANA character set name or AUTO-CHARSET
      • getParameterName

        public String getParameterName​(LocaleSource.Parameter parameter)
        Returns a String representing the parameter name used to specify locale attributes. For example, if you want to get the locale value, use the LocaleSource.Parameter.LOCALE object as input. For example:
         ApplicationContext appctx = ServletHelper.getApplicationContextInstance(
           request);
         String locale = request.getParameter(
           appctx.getParameterName(LocaleSource.Parameter.LOCALE));
         
        Parameters:
        parameter - a parameter type
        Returns:
        a parameter name used in the application
      • getLocaleSources

        public Class[] getLocaleSources()
        Returns an array of locale source Class objects that are used to determine the current locale.
        Returns:
        an array of LocaleSource Class objects
      • getApplicationDefaultLocaleSource

        public LocaleSource getApplicationDefaultLocaleSource()
        Returns the application default locale source instance.
        Returns:
        a LocaleSource representing the application default locale
      • getMessageBundle

        public Map getMessageBundle()
        Returns a Map consisting of message bundle name and message bundle object pairs.
        Returns:
        the map of the message bundle object where the key is the message bundle name and the value is the ResourceBundle object
      • getSupportedLocales

        public Locale[] getSupportedLocales()
        Returns an array of locales supported by the application.

        The supported locale can be specified in the application configuration file.

        Returns:
        an array of Locale objects representing supported locales in the application
      • getSupportedOraLanguages

        public String[] getSupportedOraLanguages​(String oraTerritory)
        Returns supported Oracle languages for the Oracle territory.

        The supported languages are determined by the supported locale. If the given territory name is null, all supported Oracle languages are returned.

        Parameters:
        oraTerritory - Oracle territory name. If this parameter is null, then the method will return all supported Oracle languages that are based on the application locale list.
        Returns:
        an array of String representing the supported languages in the application
      • getSupportedOraLanguages

        public String[] getSupportedOraLanguages()
        Returns supported Oracle languages based on the application locale list.

        The supported languages are determined by the supported locale.

        Returns:
        an array of String objects representing the supported languages in the application
      • getSupportedOraTerritories

        public String[] getSupportedOraTerritories​(String oraLanguage)
        Returns supported Oracle territories for the Oracle language.

        The supported territories are determined by the supported locale list. If the given language is null, all available territories are returned.

        Parameters:
        oraLanguage - Oracle language name
        Returns:
        an array of String representing the supported territories in the application
      • getSupportedOraTerritories

        public String[] getSupportedOraTerritories()
        Returns the supported Oracle territories.

        The supported territories are determined by the supported locale list.

        Returns:
        an array of String representing the supported territories in the application
      • getSupportedIANACharacterSets

        public String[] getSupportedIANACharacterSets()
        Returns an array of supported IANA character set names. This list is based on the supported locale list.
        Returns:
        an array of supported IANA character sets in the application
      • fallbackLocale

        public Locale fallbackLocale​(Locale locale)
        Validates if the locale supplied as an argument is supported. If the locale is supported, it is returned by the method. Otherwise, the fallback locale is returned.

        If you are not sure that the given locale is supported, call this method the custom locale source object.

        Note that supported locales in the application are not equivalent to the translation locales that are handled by the ResourceBundle class or the ServletHelper.rewriteURL(String, HttpServletRequest) method. They validate locales by checking the actual translation resources. If the given locale's translation exists, it is returned, otherwise, it returns the fallback locale's translation.

        Parameters:
        locale - a Locale object to be examined
        Returns:
        a Locale that is supported by the application
      • hashCode

        public int hashCode()
        Returns the hash value.
        Overrides:
        hashCode in class Object
        Returns:
        hash value