package io.cattle.platform.process.common.handler; import io.cattle.platform.engine.handler.HandlerResult; import io.cattle.platform.engine.handler.ProcessPostListener; import io.cattle.platform.engine.handler.ProcessPreListener; import io.cattle.platform.engine.process.ProcessInstance; import io.cattle.platform.engine.process.ProcessState; public abstract class AbstractObjectProcessPrePostListener extends AbstractObjectProcessLogic implements ProcessPreListener, ProcessPostListener { @Override public HandlerResult handle(ProcessState state, ProcessInstance process) { switch (state.getPhase()) { case PRE_LISTENERS: return preHandle(state, process); case POST_LISTENERS: return postHandle(state, process); default: break; } return null; } protected abstract HandlerResult preHandle(ProcessState state, ProcessInstance process); protected abstract HandlerResult postHandle(ProcessState state, ProcessInstance process); }