E ai galera, como estão todos?
:arrow: Na verdade não estou exatamente com um problema, seria mais uma dúvida mais relacionada a conceito.
Estou fazendo um framework, e neste há um módulo que trata a internacionalização. Neste módulo tenho um arquivo de configuração que irá carregar determinados atributos (idioma default, path do arquivo de resource, etc…) e quando o desenvolvedor chamar um determinado método informando a chave este trará uma msg internacionalizada…
:arrow: Bem ai que está minha dúvida. Como vou fazer para armazenar estes parâmetros. No momento estou criando uma classe com atributos estáticos onde deixarei as configurações carregadas. Esta seria a melhor solução ou teria outra forma :?: Pensei em carregar o arquivo de configuraçào em um VO qualquer e serializar o kra, mas não sei se isso ficaria legal… :?
Qualquer sugestão é bem vinda…
Vou transcrever a classe com os métodos staticos que eu criei pra receber as configurações.
Um grande abraço pra todos…
[code]package br.com.ultra.i18n.config;
import java.io.InputStream;
import java.io.Serializable;
import java.util.Hashtable;
import java.util.Locale;
/**
-
Armazena os valores de configuração da
-
internacionalização.
-
Quando o conjunto idioma atual e país atual forem iguais aos valores
-
padrão será utilizado o arquivo de recursos que não possui
-
informação da localidade
-
-
ex:
-
Padrão: Protuguês (PT) / Brasil (br)
-
Atual: Protuguês (PT) / Brasil (br)
-
Arquivo de Recurso: nomeArquivo.properties
-
----------------------
-
Padrão: Protuguês (PT) / Brasil (br)
-
Atual: Inglês (EN) / Estados Unidos (us)
-
Arquivo de Recurso: nomeArquivo_EN_us.properties
-
-
Se uma determinada chave não for localizada no arquivo referente ao idioma
-
atual, automáticamente esta chave será localizada no arquivo padrão
-
@author Rodrigo Souza
-
@version 1.0
*/
public class ConfigValues implements Serializable {private static final long serialVersionUID = 1L;
/**
- Preenche os valores de configuração
*/
public static synchronized void fillConfigValues() {
}
public static synchronized void changeLocale(Locale locale) {
}
public static synchronized String getCurrentCountry() {
return currentCountry;
}public static synchronized String getCurrentLanguage() {
return currentLanguage;
}public static synchronized String getDefaultCountry() {
return defaultCountry;
}public static synchronized String getDefaultLanguage() {
return defaultLanguage;
}public static synchronized Hashtable<String, InputStream> getResourceFiles() {
return resourceFiles;
}/**
- Armazena o idioma padrão informada no arquivo de configuração.
/
private static volatile String defaultLanguage = null;
/* - Armazena o país padrão informado no arquivo de configuração.
*/
private static volatile String defaultCountry = null;
/**
- Armazena o idioma atual.
/
private static volatile String currentLanguage = null;
/* - Armazena o país atual.
*/
private static volatile String currentCountry = null;
/**
- Arquivos de recurso carregados
*/
private static volatile Hashtable<String, InputStream> resourceFiles = null;
- Preenche os valores de configuração
}
[/code]