Application components programmatically manage internationalization
context through the UserInternationalization, Internationalization,
and InvocationInternationalization interfaces in the com.ibm.websphere.i18n.context
package.
The following code example introduces the internationalization
context API:
public interface UserInternationalization {
public Internationalization getCallerInternationalization();
public InvocationInternationalization
getInvocationInternationalization();
}
public interface Internationalization {
public java.util.Locale[] getLocales();
public java.util.Locale getLocale();
public java.util.TimeZone getTimeZone();
}
public interface InvocationInternationalization
extends Internationalization {
public void setLocales(java.util.Locale[] locales);
public void setLocale(java.util.Locale jmLocale);
public void setTimeZone(java.util.TimeZonetimeZone);
public void setTimeZone(String timeZoneId);
}
UserInternationalization interface
The UserInternationalization
interface provides factory methods for obtaining references to the
CallerInternationalization and InvocationInternationalization context
objects. Use these references to access elements of the caller and
invocation contexts correlated to the current thread.
Methods
of the UserInternationalization interface:
- Internationalization getCallerInternationalization()
- Returns a reference implementing the Internationalization interface
that supports access to elements of the caller internationalization
context correlated to the current thread. If the service is disabled,
this method issues an IllegalStateException exception.
- InvocationInternationalization getInvocationInternationalization()
- Returns a reference implementing the InvocationInternationalization
interface. If the service is disabled, this method issues an IllegalStateException
exception.
Internationalization interface
The Internationalization
interface declares methods that provide read-only access to internationalization
context. Given a caller or invocation internationalization context
object created with the UserInternationalization interface, bind the
object to the Internationalization interface to get elements of that
context type. Observe that caller internationalization context can
be accessed only through this interface.
Methods of the Internationalization
interface:
- Locale[] getLocales()
- Returns the chain of locales within the internationalization context
(object) that is bound to the interface, provided the chain is not
null; otherwise this method returns a chain of length(1) containing
the default locale of the Java virtual
machine (JVM).
- Locale getLocale()
- Returns the first in the chain of locales within the internationalization
context (object) that is bound to the interface, provided the chain
is not null; otherwise this method returns the default locale of the
JVM.
- TimeZone getTimeZone()
- Returns the caller time zone (that is, the SimpleTimeZone instance)
that is associated with the current thread, provided the time zone
is non-null; otherwise this method returns the process time zone.
InvocationInternationalization interface
The
InvocationInternationalization interface declares methods that provide
read and write access to InvocationInternationalization context. Given
an invocation internationalization context object created with the
UserInternationalization interface, bind the object to the InvocationInternationalization
interface to get and set elements of the invocation context.
According
to the container-managed internationalization (CMI) policy, all set
methods, setXxx(), issue an IllegalStateException exception when called
within a CMI servlet or enterprise bean.
Methods of the InvocationInternationalization
interface:
- void setLocales(java.util.Locale[] locales)
- Sets the chain of locales to the supplied chain, locales,
within the invocation internationalization context. The supplied chain
can be null or have length(>= 0). When the supplied chain is null
or has length(0), the service sets the chain of invocation locales
to an array of length(1) containing the default locale of the JVM.
Null entries can exist within the supplied locale list, for which
the service substitutes the default locale of the JVM on remote invocations.
- void setLocale(java.util.Locale locale)
- Sets the chain of locales within the invocation internationalization
context to an array of length(1) containing the supplied locale, locale.
The supplied locale can be null, in which case the service instead
sets the chain to an array of length(1) containing the default locale
of the JVM.
- void setTimeZone(java.util.TimeZone timeZone)
- Sets the time zone within the invocation internationalization
context to the supplied time zone, time zone. If the supplied
time zone is not an exact instance of java.util.SimpleTimeZone or
is null, the service sets the invocation time zone to the default
time zone of the JVM instead.
- void setTimeZone(String timeZoneId)
- Sets the time zone within the invocation internationalization
context to the java.util.SimpleTimeZone having the supplied ID, timeZoneId.
If the supplied time zone ID is null or invalid (that is, the ID is
not displayed in the list of IDs returned by the java.util.TimeZone.getAvailableIds
method) the service sets the invocation time zone to the simple time
zone having an ID of GMT, an offset of 00:00, and otherwise invalid
fields.