package org.dayatang.i18n;
import java.util.Locale;
public interface I18nService {
/**
* Try to resolve the message. Return default message if no message was
* found.
*
* @param code
* the code to lookup up, such as 'calculator.noRateSet'. Users
* of this class are encouraged to base message names on the
* relevant fully qualified class name, thus avoiding conflict
* and ensuring maximum clarity.
* @param args
* array of arguments that will be filled in for params within
* the message (params look like "{0}", "{1,date}", "{2,time}"
* within a message), or <code>null</code> if none.
* @param defaultMessage
* String to return if the lookup fails
* @param locale
* the Locale in which to do the lookup
* @return the resolved message if the lookup was successful; otherwise the
* default message passed as a parameter
* @see java.text.MessageFormat
*/
String getMessage(String code, Object[] args, String defaultMessage,
Locale locale);
/**
* Try to resolve the message. Treat as an error if the message can't be
* found.
*
* @param code
* the code to lookup up, such as 'calculator.noRateSet'
* @param args
* Array of arguments that will be filled in for params within
* the message (params look like "{0}", "{1,date}", "{2,time}"
* within a message), or <code>null</code> if none.
* @param locale
* the Locale in which to do the lookup
* @return the resolved message
* @throws NoSuchMessageException
* if the message wasn't found
* @see java.text.MessageFormat
*/
String getMessage(String code, Object[] args, Locale locale)
throws NoSuchMessageException;
}