package org.zstack.core.workflow;
import org.zstack.header.core.workflow.*;
import java.util.Map;
/**
*/
public abstract class ShareFlow implements Flow {
private ShareFlowChain chain;
void setChain(ShareFlowChain chain) {
this.chain = chain;
}
protected void flow(Flow flow) {
chain.install(flow);
}
protected void done(FlowDoneHandler handler) {
chain.done(handler);
}
protected void error(FlowErrorHandler handler) {
chain.error(handler);
}
protected void Finally(FlowFinallyHandler handler) {
chain.Finally(handler);
}
@Override
public final void run(FlowTrigger trigger, Map data) {
trigger.next();
}
@Override
public final void rollback(FlowRollback trigger, Map data) {
trigger.rollback();
}
public abstract void setup();
}