package com.hubspot.blazar.base.visitor;
import java.util.Iterator;
import com.hubspot.blazar.base.InterProjectBuild;
public class AbstractInterProjectBuildVisitor implements InterProjectBuildVisitor {
@Override
public final void visit(InterProjectBuild build) throws Exception {
switch (build.getState()) {
case QUEUED:
visitQueued(build);
break;
case IN_PROGRESS:
visitRunning(build);
break;
case FAILED:
visitFailed(build);
break;
case CANCELLED:
visitCancelled(build);
break;
case SUCCEEDED:
visitSucceeded(build);
break;
default:
throw new IllegalStateException("Unexpected build state: " + build.getState());
}
}
protected void visitQueued(InterProjectBuild build) throws Exception {}
protected void visitRunning(InterProjectBuild build) throws Exception {}
protected void visitCancelled(InterProjectBuild build) throws Exception {}
protected void visitFailed(InterProjectBuild build) throws Exception {}
protected void visitSucceeded(InterProjectBuild build) throws Exception {}
}