package com.horstmann.violet.framework.util;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
/**
* This ...
*
* @author Adrian Bobrowski
* @date 03.01.2016
*/
public class ResourceManager
{
public ResourceManager()
{
this.resourceBundles = new ArrayList<ResourceBundle>();
}
public ResourceManager(ResourceBundle resourceBundle)
{
this();
addResource(resourceBundle);
}
public ResourceManager(String baseName)
{
this(ResourceBundle.getBundle(baseName, Locale.getDefault()));
}
public final void addResource(String baseName)
{
addResource(ResourceBundle.getBundle(baseName, Locale.getDefault()));
}
public final void addResource(ResourceBundle resourceBundle)
{
this.resourceBundles.add(0,resourceBundle);
}
public final String getString(String key)
{
while(true)
{
for (ResourceBundle resourceBundle : resourceBundles)
{
try
{
return resourceBundle.getString(key);
}
catch (Exception ignored)
{}
}
int indexOfSeparator = key.indexOf('.');
if (-1 == indexOfSeparator)
{
break;
}
key = key.substring(indexOfSeparator+1);
}
return key;
}
private List<ResourceBundle> resourceBundles;
}