Class ApplicationContext
- java.lang.Object
-
- oracle.i18n.servlet.ApplicationContext
-
public class ApplicationContext extends Object
TheApplicationContext
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 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
ContextListener
object 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 String
DEFAULT_GDKAPP
The Constant for the name of the default GDK application configuration file.static String
OBJECT_KEY
Constant 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 theClassLoader
object.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 theClassLoader
object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Locale
fallbackLocale(Locale locale)
Validates if the locale supplied as an argument is supported.LocaleSource
getApplicationDefaultLocaleSource()
Returns the application default locale source instance.String
getIANAPageCharacterSet()
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.Map
getMessageBundle()
Returns aMap
consisting of message bundle name and message bundle object pairs.String
getParameterName(LocaleSource.Parameter parameter)
Returns aString
representing 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.int
hashCode()
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. TheClassLoader
object 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 theLocaleSource
class 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 theLocaleSource
class 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 theClassLoader
object. The class loader may be required when a customLocaleSource
object 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
- theClassLoader
object that will be used to loadLocaleSource
classes and message bundles.- Throws:
ClassNotFoundException
- if theLocaleSource
class 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 theClassLoader
object. The class loader is required if you will be using a customLocaleSource
object that is specified in the GDK application configuration file.- Parameters:
pathToConfigFile
- an input stream object that references the application configuration filecloader
- theClassLoader
object that will be used to loadLocaleSource
classes and message bundles.- Throws:
ClassNotFoundException
- if theLocaleSource
class 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-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 theLocalizer.getIANACharacterSet()
method.- Returns:
- an IANA character set name or
AUTO-CHARSET
-
getParameterName
public String getParameterName(LocaleSource.Parameter parameter)
Returns aString
representing the parameter name used to specify locale attributes. For example, if you want to get the locale value, use theLocaleSource.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 aMap
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 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
- aLocale
object to be examined- Returns:
- a
Locale
that is supported by the application
-
-