You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hivemind.apache.org by hl...@apache.org on 2004/06/09 16:52:44 UTC
cvs commit: jakarta-hivemind/framework/src/java/org/apache/hivemind/impl MessageFormatter.java
hlship 2004/06/09 07:52:44
Added: framework/src/java/org/apache/hivemind/impl
MessageFormatter.java
Log:
Add MessageFormatter class to make it easier for each package to have its own set of messages.
Revision Changes Path
1.1 jakarta-hivemind/framework/src/java/org/apache/hivemind/impl/MessageFormatter.java
Index: MessageFormatter.java
===================================================================
// Copyright 2004 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package org.apache.hivemind.impl;
import java.text.MessageFormat;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import org.apache.commons.logging.Log;
/**
* A wrapper around {@link java.util.ResourceBundle} that makes
* it easier to access and format messages.
*
* @author Howard Lewis Ship
*/
public class MessageFormatter
{
private Log _log;
private ResourceBundle _bundle;
public MessageFormatter(Log log, ResourceBundle bundle)
{
_log = log;
_bundle = bundle;
}
public MessageFormatter(Log log, Class referenceClass, String name)
{
this(log, referenceClass.getPackage().getName() + "." + name);
}
public MessageFormatter(Log log, String bundleName)
{
this(log, ResourceBundle.getBundle(bundleName));
}
public String getString(String key)
{
try
{
return _bundle.getString(key);
}
catch (MissingResourceException ex)
{
_log.error("Missing resource key: " + key + ".");
return "[" + key.toUpperCase() + "]";
}
}
public String format(String key, Object arg)
{
return format(key, new Object[] { arg });
}
public String format(String key, Object arg1, Object arg2)
{
return format(key, new Object[] { arg1, arg2 });
}
public String format(String key, Object arg1, Object arg2, Object arg3)
{
return format(key, new Object[] { arg1, arg2, arg3 });
}
public String format(String key, Object[] args)
{
String pattern = getString(key);
if (args == null)
return pattern;
try
{
return MessageFormat.format(pattern, args);
}
catch (Exception ex)
{
_log.error("Unable to format message: \"" + pattern + "\" from key " + key + ".", ex);
return null;
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-cvs-help@jakarta.apache.org