/*
* GeoTools - The Open Source Java GIS Toolkit
* http://geotools.org
*
* (C) 2001-2008, Open Source Geospatial Foundation (OSGeo)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*/
package org.geotools.renderer.i18n;
// J2SE dependencies
import java.util.Locale;
import java.util.MissingResourceException;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import org.geotools.resources.IndexedResourceBundle;
/**
* Base class for locale-dependent resources. Instances of this class should
* never been created directly. Use the factory method {@link #getResources}
* or use static convenience methods instead.
*
* @since 2.2
*
* @source $URL$
* @version $Id$
* @author Martin Desruisseaux (IRD)
* @author Simone Giannecchini (GeoSolutions)
*/
public class Logging extends IndexedResourceBundle {
/**
* Returns resources in the given locale.
*
* @param locale The locale, or {@code null} for the default locale.
* @return Resources in the given locale.
* @throws MissingResourceException if resources can't be found.
*/
public static Logging getResources(Locale locale) throws MissingResourceException {
if (locale == null) {
locale = Locale.getDefault();
}
return (Logging) getBundle(Logging.class.getName(), locale);
/*
* We rely on cache capability of ResourceBundle.
*/
}
/**
* Gets a log record for the given key from this resource bundle or one of its parents.
*
* @param level The log record level.
* @param key The key for the desired string.
* @return The string for the given key.
* @throws MissingResourceException If no object for the given key can be found.
*/
public static LogRecord format(final Level level,
final int key) throws MissingResourceException
{
return getResources(null).getLogRecord(level, key);
}
/**
* Gets a log record for the given key. Replaces all occurence of "{0}"
* with values of {@code arg0}.
*
* @param level The log record level.
* @param key The key for the desired string.
* @param arg0 Value to substitute to "{0}".
* @return The formatted string for the given key.
* @throws MissingResourceException If no object for the given key can be found.
*/
public static LogRecord format(final Level level,
final int key,
final Object arg0) throws MissingResourceException
{
return getResources(null).getLogRecord(level, key, arg0);
}
/**
* Gets a log record for the given key. Replaces all occurence of "{0}",
* "{1}", with values of {@code arg0}, {@code arg1}.
*
* @param level The log record level.
* @param key The key for the desired string.
* @param arg0 Value to substitute to "{0}".
* @param arg1 Value to substitute to "{1}".
* @return The formatted string for the given key.
* @throws MissingResourceException If no object for the given key can be found.
*/
public static LogRecord format(final Level level,
final int key,
final Object arg0,
final Object arg1) throws MissingResourceException
{
return getResources(null).getLogRecord(level, key, arg0, arg1);
}
/**
* Gets a log record for the given key. Replaces all occurence of "{0}",
* "{1}", with values of {@code arg0}, {@code arg1}, etc.
*
* @param level The log record level.
* @param key The key for the desired string.
* @param arg0 Value to substitute to "{0}".
* @param arg1 Value to substitute to "{1}".
* @param arg2 Value to substitute to "{2}".
* @return The formatted string for the given key.
* @throws MissingResourceException If no object for the given key can be found.
*/
public static LogRecord format(final Level level,
final int key,
final Object arg0,
final Object arg1,
final Object arg2) throws MissingResourceException
{
return getResources(null).getLogRecord(level, key, arg0, arg1, arg2);
}
/**
* Gets a log record for the given key. Replaces all occurence of "{0}",
* "{1}", with values of {@code arg0}, {@code arg1}, etc.
*
* @param level The log record level.
* @param key The key for the desired string.
* @param arg0 Value to substitute to "{0}".
* @param arg1 Value to substitute to "{1}".
* @param arg2 Value to substitute to "{2}".
* @param arg3 Value to substitute to "{3}".
* @return The formatted string for the given key.
* @throws MissingResourceException If no object for the given key can be found.
*/
public static LogRecord format(final Level level,
final int key,
final Object arg0,
final Object arg1,
final Object arg2,
final Object arg3) throws MissingResourceException
{
return getResources(null).getLogRecord(level, key, arg0, arg1, arg2, arg3);
}
}