package net.sourceforge.phpeclipse.preferences;

import java.text.MessageFormat;
import java.util.MissingResourceException;
import java.util.ResourceBundle;

import net.sourceforge.phpeclipse.IPreferenceConstants;
import net.sourceforge.phpeclipse.PHPeclipsePlugin;

import org.eclipse.jface.preference.IPreferenceStore;

public class PHPPreferencesMessages {

  static IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
  static String resourceBundleName;
  static {
    resourceBundleName = store.getString(IPreferenceConstants.RESOURCE_BUNDLE);
  }
  private static ResourceBundle resourceBundle = ResourceBundle.getBundle(resourceBundleName);

  private PHPPreferencesMessages() {
  }

  public static String getString(String key) {
    try {
      return resourceBundle.getString(key);
    } catch (MissingResourceException e) {
      return '!' + key + '!';
    }
  }
  public static void setResourceBundle(String newResourceBundle) {
    resourceBundle = ResourceBundle.getBundle(newResourceBundle);
  }

  public static String getFormattedString(String key, String arg) {
    return getFormattedString(key, new String[] { arg });
  }

  public static String getFormattedString(String key, String[] args) {
    return MessageFormat.format(getString(key), args);
  }

  public static ResourceBundle getResourceBundle() {
    return resourceBundle;
  }
  
  public static void switchBundle() {
	String resourceBundleName = store.getString(IPreferenceConstants.RESOURCE_BUNDLE);
	resourceBundle = ResourceBundle.getBundle(resourceBundleName);
  	
  }
}