Class ApplicationContext
- java.lang.Object
-
- oracle.i18n.servlet.ApplicationContext
-
public class ApplicationContext extends Object
TheApplicationContextclass 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
ApplicationContextobject, but rather retrieves an instance by calling theServletHelper.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
ContextListenerobject or in a custom context listener for Java/JSP server applications and be registered in the servlet context with the keyApplicationContext.OBJECT.- Since:
- 10.1.0.2
-
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_GDKAPPThe Constant for the name of the default GDK application configuration file.static StringOBJECT_KEYConstant for the key name used to retrieve the ApplicationContext object.
-
Constructor Summary
Constructors Constructor Description ApplicationContext(InputStream pathToConfigFile)Constructs an ApplicationContext object based on the specified application configuration InputStream.ApplicationContext(InputStream pathToConfigFile, ClassLoader cloader)Constructs an ApplicationContext object based on the specified application configuration InputStream and theClassLoaderobject.ApplicationContext(String pathToConfigFile)Constructs an ApplicationContext object that is based on a specified GDK application configuration file.ApplicationContext(String pathToConfigFile, ClassLoader cloader)Constructs an ApplicationContext object that is based on a specified GDK application configuration file and theClassLoaderobject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LocalefallbackLocale(Locale locale)Validates if the locale supplied as an argument is supported.LocaleSourcegetApplicationDefaultLocaleSource()Returns the application default locale source instance.StringgetIANAPageCharacterSet()Returns the default IANA page character set name of the application or returns the stringAUTO-CHARSET.Class[]getLocaleSources()Returns an array of locale source Class objects that are used to determine the current locale.MapgetMessageBundle()Returns aMapconsisting of message bundle name and message bundle object pairs.StringgetParameterName(LocaleSource.Parameter parameter)Returns aStringrepresenting the parameter name used to specify locale attributes.String[]getSupportedIANACharacterSets()Returns an array of supported IANA character set names.Locale[]getSupportedLocales()Returns an array of locales supported by the application.String[]getSupportedOraLanguages()Returns supported Oracle languages based on the application locale list.String[]getSupportedOraLanguages(String oraTerritory)Returns supported Oracle languages for the Oracle territory.String[]getSupportedOraTerritories()Returns the supported Oracle territories.String[]getSupportedOraTerritories(String oraLanguage)Returns supported Oracle territories for the Oracle language.inthashCode()Returns the hash value.
-
-
-
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
-
-
Constructor Detail
-
ApplicationContext
public ApplicationContext(String pathToConfigFile) throws ClassNotFoundException, PatternSyntaxException, UnsupportedEncodingException
Constructs an ApplicationContext object that is based on a specified GDK application configuration file. TheClassLoaderobject is derived from this object.Note: Do not use this method for a JSP/Java Servlet application, instead, use the
ServletHelper.getApplicationContextInstance(HttpServletRequest)method.- Parameters:
pathToConfigFile- an absolute file path of the application configuration file- Throws:
ClassNotFoundException- if theLocaleSourceclass is not foundPatternSyntaxException- if rewriting rule or locale to charset mapping regular expression is invalidUnsupportedEncodingException- if character set is invalid
-
ApplicationContext
public ApplicationContext(InputStream pathToConfigFile) throws ClassNotFoundException, PatternSyntaxException, UnsupportedEncodingException
Constructs an ApplicationContext object based on the specified application configuration InputStream.- Parameters:
pathToConfigFile- an input stream object that references the application configuration file- Throws:
ClassNotFoundException- if theLocaleSourceclass is not foundPatternSyntaxException- if rewriting rule or locale to charset mapping regular expression is invalidUnsupportedEncodingException- if character set is invalid
-
ApplicationContext
public ApplicationContext(String pathToConfigFile, ClassLoader cloader) throws ClassNotFoundException, PatternSyntaxException, UnsupportedEncodingException
Constructs an ApplicationContext object that is based on a specified GDK application configuration file and theClassLoaderobject. The class loader may be required when a customLocaleSourceobject is used in the application configuration file.Note: Do not use this method for a JSP/Java Servlet application, instead, use the
ServletHelper.getApplicationContextInstance(HttpServletRequest)method.- Parameters:
pathToConfigFile- an absolute file path of the application configuration filecloader- theClassLoaderobject that will be used to loadLocaleSourceclasses and message bundles.- Throws:
ClassNotFoundException- if theLocaleSourceclass is not foundPatternSyntaxException- if rewriting rule or locale to charset mapping regular expression is invalidUnsupportedEncodingException- if character set is invalid
-
ApplicationContext
public ApplicationContext(InputStream pathToConfigFile, ClassLoader cloader) throws ClassNotFoundException, PatternSyntaxException, UnsupportedEncodingException
Constructs an ApplicationContext object based on the specified application configuration InputStream and theClassLoaderobject. The class loader is required if you will be using a customLocaleSourceobject that is specified in the GDK application configuration file.- Parameters:
pathToConfigFile- an input stream object that references the application configuration filecloader- theClassLoaderobject that will be used to loadLocaleSourceclasses and message bundles.- Throws:
ClassNotFoundException- if theLocaleSourceclass is not foundPatternSyntaxException- if rewriting rule or locale to charset mapping regular expression is invalidUnsupportedEncodingException- if character set is invalid
-
-
Method Detail
-
getIANAPageCharacterSet
public String getIANAPageCharacterSet()
Returns the default IANA page character set name of the application or returns the stringAUTO-CHARSET. If the valueAUTO-CHARSETis set, this implies that the GDK framework automatically assigns an appropriate character set value based on the locale.If the
AUTO-CHARSETvalue is set, you may retrieve the resolved character set name by using theLocalizer.getIANACharacterSet()method.- Returns:
- an IANA character set name or
AUTO-CHARSET
-
getParameterName
public String getParameterName(LocaleSource.Parameter parameter)
Returns aStringrepresenting the parameter name used to specify locale attributes. For example, if you want to get the locale value, use theLocaleSource.Parameter.LOCALEobject 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
LocaleSourceClass objects
-
getApplicationDefaultLocaleSource
public LocaleSource getApplicationDefaultLocaleSource()
Returns the application default locale source instance.- Returns:
- a
LocaleSourcerepresenting the application default locale
-
getMessageBundle
public Map getMessageBundle()
Returns aMapconsisting 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
ResourceBundleobject
-
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
Localeobjects 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
Stringrepresenting 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
Stringobjects 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
Stringrepresenting 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
Stringrepresenting 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
ResourceBundleclass or theServletHelper.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- aLocaleobject to be examined- Returns:
- a
Localethat is supported by the application
-
-