API do Contexto de Internacionalização: Referência de Programação
Os componentes de aplicativo gerenciam programaticamente o contexto de internacionalização por meio das interfaces UserInternationalization, Internationalization e InvocationInternationalization no pacote com.ibm.websphere.i18n.context.
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);
}
Interface UserInternationalization
A interface UserInternationalization fornece métodos de fábrica para obter referências aos objetos de contexto CallerInternationalization e InvocationInternationalization. Utilize essas referências para acessar elementos dos contextos de responsável pela chamada e de chamada correlacionados ao encadeamento atual.
- Internationalization getCallerInternationalization()
- Retorna uma referência que implementa a interface Internationalization que suporta o acesso a elementos do contexto de internacionalização do responsável pela chamada correlacionado ao encadeamento atual. Se o serviço estiver desativado, este método emitirá uma exceção IllegalStateException.
- InvocationInternationalization getInvocationInternationalization()
- Retorna uma referência que implementa a interface InvocationInternationalization. Se o serviço estiver desativado, este método emitirá uma exceção IllegalStateException.
Interface Internationalization
A interface Internationalization declara métodos que fornecem acesso de leitura ao contexto de internacionalização. Especificado um objeto do contexto de internacionalização do responsável pela chamada ou da chamada criado com a interface UserInternationalization, ligue o objeto à interface Internationalization para obter elementos desse tipo de contexto. Observe que o contexto de internacionalização de responsável pela chamada só pode ser acessado por meio dessa interface.
- Locale[] getLocales()
- Retorna a cadeia de códigos do idioma no contexto de internacionalização (objeto) que está ligado à interface, desde que a cadeia não seja nula; caso contrário, este método retornará uma cadeia de tamanho(1) que contém o código do idioma padrão da JVM (Java™ Virtual Machine).
- Locale getLocale()
- Retorna o primeiro na cadeia de códigos do idioma no contexto de internacionalização (objeto) que está ligado à interface, desde que a cadeia não seja nula; de outra maneira, este método retornará o código do idioma padrão da JVM.
- TimeZone getTimeZone()
- Retorna o fuso horário do responsável pela chamada (ou seja, a instância SimpleTimeZone) associado ao encadeamento atual, desde que o fuso horário seja não nulo; de outra maneira, este método retornará o fuso horário do processo.
Interface InvocationInternationalization
A interface InvocationInternationalization declara métodos que fornecem acesso de leitura e gravação para o contexto InvocationInternationalization. Especificado um objeto do contexto de internacionalização de chamada criado com a interface UserInternationalization, ligue o objeto à interface InvocationInternationalization para obter e definir elementos do contexto de chamada.
De acordo com a política CMI (Container-Managed Internationalization), todos os métodos de definição, setXxx(), emitem uma exceção IllegalStateException quando chamados em um servlet CMI ou enterprise bean.
- void setLocales(java.util.Locale[] locales)
- Define a cadeia de locales para a cadeia fornecida, locales, no contexto de internacionalização de chamada. A cadeia fornecida pode ser nula ou ter comprimento (>= 0). Quando a cadeia fornecida é nula ou possui comprimento(0), o serviço define a cadeia de locales de chamada para uma matriz de comprimento(1) que contém o locale padrão da JVM. Entradas nulas podem existir na lista fornecida de locales, na qual o serviço substitui o locale padrão da JVM em chamadas remotas.
- void setLocale(java.util.Locale locale)
- Define a cadeia de locales no contexto de internacionalização de chamada para uma matriz de comprimento(1) contendo o locale fornecido, locale. O locale fornecido pode ser nulo, nesse caso, o serviço define a cadeia para uma matriz de comprimento(1) contendo o locale padrão da JVM.
- void setTimeZone(java.util.TimeZone timeZone)
- Define o fuso horário no contexto de internacionalização de chamada para o fuso horário fornecido, time zone. Se o fuso horário fornecido não for uma instância exata de java.util.SimpleTimeZone ou for nulo, o serviço definirá o fuso horário de chamada como o fuso horário padrão da JVM.
- void setTimeZone(String timeZoneId)
- Define o fuso horário no contexto de internacionalização de chamada para o java.util.SimpleTimeZone que possui o ID fornecido, timeZoneId. Se o ID do fuso horário fornecido for nulo ou inválido (ou seja, se o ID não for exibido na lista de IDs retornados pelo método java.util.TimeZone.getAvailableIds) o serviço definirá o fuso horário de chamada como o fuso horário simples que possui um ID de GMT, um deslocamento de 00:00 e, de outra maneira, campos inválidos.