/**
* Copyright (C) 2013-2016 The Rythm Engine project
* for LICENSE and other details see:
* https://github.com/rythmengine/rythmengine
*/
package org.rythmengine.extension;
import org.rythmengine.RythmEngine;
import org.rythmengine.template.ITemplate;
import org.rythmengine.utils.S;
/**
* Define interface for customized i18n message resolver
*/
public interface II18nMessageResolver {
/**
* <p>Return i18n message of a given key and args, use the locale info from the template specified.
* if <tt>null</tt> template passed in then it will try to guess from the current engine via
* {@link org.rythmengine.RythmEngine#get()}</p>
*
* @param template
* @param key
* @param args the format arguments. If the first argument is of type Locale then it will be used to specify
* the locale of the processing, and the rest elements are used as format arguments
* @return the i18n message
*/
String getMessage(ITemplate template, String key, Object... args);
public static class DefaultImpl implements II18nMessageResolver {
public static final II18nMessageResolver INSTANCE = new DefaultImpl();
private DefaultImpl() {}
@Override
public String getMessage(ITemplate template, String key, Object... args) {
return S.i18n(template, key, args);
}
}
}