*/
public void apply(FaceletContext ctx, UIComponent parent)
throws IOException, FacesException, FaceletException, ELException
{
logger.debug("Apply called. Component: " + parent);
ActionSource actionSource = (ActionSource) parent;
if (sourceHasProperty(actionSource))
return;
UpdateActionListener al = new UpdateActionListener();
Application app = ctx.getFacesContext().getApplication();
if (converterAttr != null)
{
Converter converter = app.createConverter(converterAttr
.getValue(ctx));
al.setConverter(converter);
}
String value = valueAttr.getValue();
if (UIComponentTag.isValueReference(value))
al.setValueBinding(app.createValueBinding(valueAttr.getValue()));
else
al.setValue(value);
al.setPropertyBinding(app.createValueBinding(propertyAttr.getValue()));
actionSource.addActionListener(al);
}