package org.kevoree.core.deploy; import java.util.ArrayList; import java.util.List; import org.kevoree.api.PrimitiveCommand; import org.kevoree.core.KevoreeCoreBean; public abstract class KevoreeDeployPhase { public KevoreeDeployPhase successor = null; protected KevoreeCoreBean originCore; protected List<PrimitiveCommand> primitives = new ArrayList<PrimitiveCommand>(); protected long maxTimeout = 30000l; protected boolean rollbackPerformed = false; public KevoreeDeployPhase(KevoreeCoreBean core) { this.originCore = core; } public void setMaxTime(long timeout) { maxTimeout = Math.max(maxTimeout, timeout); } public void populate(PrimitiveCommand cmd) { primitives.add(cmd); rollbackPerformed = true; } public abstract boolean execute(); public abstract void rollback(); }