package org.org.eclipse.core.utils.platform.commands.handlers;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.IHandler;
import org.org.eclipse.core.utils.platform.commands.handlers.AbstractExtendedHandler.ExtendedHandlerExecutionException;
public interface IExtendedHandler<T> extends IHandler {
public T doExecute(ExecutionEvent executionEvent, IExecutionSavedContext executionSavedContext) throws ExtendedHandlerExecutionException;
public abstract IExecutionBeforeInterceptor initBeforeInterceptor();
public abstract IExecutionAfterInterceptor<T> initAfterInterceptor();
public IExecutionSavedContext initExecutionSavedContext();
public void handleError(ExecutionEvent executionEvent, ExtendedHandlerExecutionException e);
}