blob: fb80a02e18a805ea39a181277a45a08afff65ec7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2007, 2012 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
* Landmark Graphics Corporation - bug 397183
*******************************************************************************/
package org.eclipse.equinox.p2.engine.spi;
import java.util.Map;
import org.eclipse.core.runtime.IStatus;
/**
* @since 2.0
*/
public abstract class ProvisioningAction {
private Memento memento;
private Touchpoint touchpoint;
protected Memento getMemento() {
if (memento == null)
memento = new Memento();
return memento;
}
public abstract IStatus execute(Map<String, Object> parameters);
public abstract IStatus undo(Map<String, Object> parameters);
/**
* This method is meant for provisioning actions that need to communicate the result of their execution
* to subsequent actions.
* This method is only invoked by p2 once execute() has been executed.
* @return the result of the action execution.
*/
public Value<?> getResult() {
return Value.NO_VALUE;
}
// TODO: these probably should not be visible
public void setTouchpoint(Touchpoint touchpoint) {
this.touchpoint = touchpoint;
}
public Touchpoint getTouchpoint() {
return touchpoint;
}
}