package org.marketcetera.util.l10n;
import org.apache.commons.lang.ObjectUtils;
import org.marketcetera.util.log.I18NMessage;
import org.marketcetera.util.misc.ClassVersion;
/**
* Holder of meta-information about an internationalized message.
*
* @author tlerios@marketcetera.com
* @since 0.6.0
* @version $Id: I18NMessageInfo.java 16154 2012-07-14 16:34:05Z colin $
*/
/* $License$ */
@ClassVersion("$Id: I18NMessageInfo.java 16154 2012-07-14 16:34:05Z colin $")
public class I18NMessageInfo
extends MessageInfo
{
// CLASS DATA.
/**
* An empty array of class instances.
*/
public static final I18NMessageInfo[] EMPTY_ARRAY=
new I18NMessageInfo[0];
// INSTANCE DATA.
private I18NMessage mMessage;
// CONSTRUCTORS.
/**
* Creates a new meta-information holder with the given message
* key, parameter count, and internationalized message.
*
* @param key The key.
* @param paramCount The parameter count.
* @param message The message.
*/
public I18NMessageInfo
(String key,
int paramCount,
I18NMessage message)
{
super(key,paramCount);
mMessage=message;
}
// INSTANCE METHODS.
/**
* Returns the receiver's internationalized message.
*
* @return The message.
*/
public I18NMessage getMessage()
{
return mMessage;
}
// MessageInfo.
@Override
public int hashCode()
{
return (super.hashCode()+
ObjectUtils.hashCode(getMessage()));
}
@Override
public boolean equals
(Object other)
{
if (this==other) {
return true;
}
if ((other==null) || !getClass().equals(other.getClass())) {
return false;
}
I18NMessageInfo o=(I18NMessageInfo)other;
return (super.equals(o) &&
ObjectUtils.equals(getMessage(),o.getMessage()));
}
}