Armazenando Configurações

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;

}
[/code]

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?