Armazenando Configurações

1 resposta
black_fire

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...

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&ccedil;&atilde;o.<br>
 * Quando o conjunto idioma atual e país atual forem iguais aos valores
 * padr&atilde;o ser&aacute; utilizado o arquivo de recursos que não possui
 * informa&ccedil;&atilde;o da localidade
 * <p>
 * <b>ex:</b><br>
 * <b>Padr&atilde;o:</b> Protugu&ecirc;s (PT) / Brasil (br)<br>
 * <b>Atual:</b> Protugu&ecirc;s (PT) / Brasil (br)<br>
 * <b>Arquivo de Recurso:</b> nomeArquivo.properties<br>
 * ----------------------<br>
 * Padr&atilde;o: Protugu&ecirc;s (PT) / Brasil (br)<br>
 * Atual: Ingl&ecirc;s (EN) / Estados Unidos (us)<br>
 * Arquivo de Recurso: nomeArquivo_EN_us.properties
 * <p>
 * Se uma determinada chave não for localizada no arquivo referente ao idioma
 * atual, automáticamente esta chave ser&aacute; localizada no arquivo padr&atilde;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&lt;String, InputStream&gt; 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&lt;String, InputStream&gt;	resourceFiles 		= null;

}

1 Resposta

danieldestro

Serializar o VO? Bem, aí depois fica difícild e vc alterar o arquivo com as configurações. Pq não usa um Properties, ou mesmo um XML com XStream?

Você conhece a classe ResourceBundle, não conhece?

Criado 23 de junho de 2005
Ultima resposta 23 de jun. de 2005
Respostas 1
Participantes 2