package org.jboss.seam.async; import org.jboss.seam.core.Events; /** * An asynchronous event * * @author Gavin King * */ public class AsynchronousEvent extends Asynchronous { static final long serialVersionUID = 2074586442931427819L; private String type; private Object[] parameters; public AsynchronousEvent(String type, Object[] parameters) { this.type = type; this.parameters = parameters; } @Override public void execute(Object timer) { new ContextualAsynchronousRequest(timer) { @Override protected void process() { Events.instance().raiseEvent(type, parameters); } }.run(); } @Override public String toString() { return "AsynchronousEvent(" + type + ')'; } protected String getType() { return type; } @Override protected void handleException(final Exception exception, Object timer) { new ContextualAsynchronousRequest(timer) { @Override protected void process() { AsynchronousExceptionHandler.instance().handleException(exception); } }.run(); } }