package org.openntf.domino.xsp.msg;
import javax.faces.application.Application;
import javax.faces.el.MethodBinding;
import javax.faces.el.ValueBinding;
import com.ibm.xsp.binding.BindingFactory;
import com.ibm.xsp.util.ValueBindingUtil;
public class MsgBindingFactory implements BindingFactory {
/** the prefix for the engine (= <code>"msg"</code>) */
public static final String MSG = "msg";
/**
* Create a method binding for the specified formula
*
* @param app
* not used here
* @param expr
* the msg expression (with #{msg:...})
* @param paramClasses
* not used here
* @return a {@link MsgMethodBinding}
*/
@SuppressWarnings("rawtypes")
@Override
public MethodBinding createMethodBinding(final Application app, final String expr, final Class[] paramClasses) {
String str = ValueBindingUtil.parseSimpleExpression(expr);
return new MsgMethodBinding(str, paramClasses);
}
/**
* Create a new value binding for the specified formula
*
* @param app
* not used here
* @param expr
* the formula expression (with #{formula:...})
* @return a {@link MsgMethodBinding}
*/
@Override
public ValueBinding createValueBinding(final Application app, final String expr) {
String str = ValueBindingUtil.parseSimpleExpression(expr);
return new MsgValueBinding(str);
}
@Override
public String getPrefix() {
return MSG;
}
}