com.mxgraph.util.mxResources Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of AptSpringProcessor Show documentation
Show all versions of AptSpringProcessor Show documentation
This project contains the apt processor that implements all the checks enumerated in @Verify. It is a self contained, and
shaded jar.
The newest version!
/**
* Copyright (c) 2010, Gaudenz Alder
*/
package com.mxgraph.util;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
public class mxResources
{
private static final Logger log = Logger.getLogger(mxResources.class.getName());
/**
* Ordered list of the inserted resource bundles.
*/
protected static LinkedList bundles = new LinkedList();
/**
* Returns the bundles.
*
* @return Returns the bundles.
*/
public static LinkedList getBundles()
{
return bundles;
}
/**
* Sets the bundles.
*
* @param value
* The bundles to set.
*/
public static void setBundles(LinkedList value)
{
bundles = value;
}
/**
* Adds a resource bundle. This may throw a MissingResourceException that
* should be handled in the calling code.
*
* @param basename
* The basename of the resource bundle to add.
*/
public static void add(String basename)
{
bundles.addFirst(PropertyResourceBundle.getBundle(basename));
}
/**
* Adds a resource bundle. This may throw a MissingResourceException that
* should be handled in the calling code.
*
* @param basename
* The basename of the resource bundle to add.
*/
public static void add(String basename, Locale locale)
{
bundles.addFirst(PropertyResourceBundle.getBundle(basename, locale));
}
/**
*
*/
public static String get(String key)
{
return get(key, null, null);
}
/**
*
*/
public static String get(String key, String defaultValue)
{
return get(key, null, defaultValue);
}
/**
* Returns the value for the specified resource key.
*/
public static String get(String key, String[] params)
{
return get(key, params, null);
}
/**
* Returns the value for the specified resource key.
*/
public static String get(String key, String[] params, String defaultValue)
{
String value = getResource(key);
// Applies default value if required
if (value == null)
{
value = defaultValue;
}
// Replaces the placeholders with the values in the array
if (value != null && params != null)
{
StringBuffer result = new StringBuffer();
String index = null;
for (int i = 0; i < value.length(); i++)
{
char c = value.charAt(i);
if (c == '{')
{
index = "";
}
else if (index != null && c == '}')
{
int tmp = Integer.parseInt(index) - 1;
if (tmp >= 0 && tmp < params.length)
{
result.append(params[tmp]);
}
index = null;
}
else if (index != null)
{
index += c;
}
else
{
result.append(c);
}
}
value = result.toString();
}
return value;
}
/**
* Returns the value for key
by searching the resource
* bundles in inverse order or null
if no value can be found
* for key
.
*/
protected static String getResource(String key)
{
Iterator it = bundles.iterator();
while (it.hasNext())
{
try
{
return it.next().getString(key);
}
catch (MissingResourceException e)
{
// continue looking in other bundles
}
}
log.severe("Resource " + key + " not found in any bundle");
return null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy