Files
i2p.i2p/apps/routerconsole/java/src/net/i2p/router/web/HelperBase.java

64 lines
1.8 KiB
Java
Raw Normal View History

package net.i2p.router.web;
import java.io.Writer;
import net.i2p.router.RouterContext;
/**
* Base helper
*/
public abstract class HelperBase {
protected RouterContext _context;
protected Writer _out;
/**
* Configure this bean to query a particular router context
*
* @param contextId beginning few characters of the routerHash, or null to pick
* the first one we come across.
*/
public void setContextId(String contextId) {
try {
_context = ContextHelper.getContext(contextId);
} catch (Throwable t) {
t.printStackTrace();
}
}
/** might be useful in the jsp's */
//public RouterContext getContext() { return _context; }
public void setWriter(Writer out) { _out = out; }
/** translate a string */
public String _(String s) {
return Messages.getString(s, _context);
}
/**
* translate a string with a parameter
* This is a lot more expensive than _(s), so use sparingly.
*
* @param s string to be translated containing {0}
* The {0} will be replaced by the parameter.
* Single quotes must be doubled, i.e. ' -> '' in the string.
* @param o parameter, not translated.
* To tranlslate parameter also, use _("foo {0} bar", _("baz"))
* Do not double the single quotes in the parameter.
* Use autoboxing to call with ints, longs, floats, etc.
*/
public String _(String s, Object o) {
return Messages.getString(s, o, _context);
}
/**
* Mark a string for extraction by xgettext and translation.
* Use this only in static initializers.
* It does not translate!
* @return s
*/
public static String _x(String s) {
return s;
}
}