this.type = type;
this.binding = binding;
}
public void processAction(ActionEvent event) throws AbortProcessingException {
ActionListener instance = null;
FacesContext faces = FacesContext.getCurrentInstance();
if (faces == null) {
return;
}
if (this.binding != null) {
instance = (ActionListener) binding.getValue(faces.getELContext());
}
if (instance == null && this.type != null) {
try {
instance = TagHandlerUtils.loadClass(this.type, ActionListener.class).newInstance();
} catch (Exception e) {
throw new AbortProcessingException("Couldn't lazily instantiate ActionListener", e);
}
if (this.binding != null) {
binding.setValue(faces.getELContext(), instance);
}
}
if (instance != null) {
instance.processAction(event);
}
}