package com.sequenceiq.cloudbreak.core.flow2.cluster.stop; import com.sequenceiq.cloudbreak.core.flow2.restart.DefaultRestartAction; import com.sequenceiq.cloudbreak.core.flow2.FlowState; import com.sequenceiq.cloudbreak.core.flow2.RestartAction; import com.sequenceiq.cloudbreak.core.flow2.restart.FillInMemoryStateStoreRestartAction; public enum ClusterStopState implements FlowState { INIT_STATE, CLUSTER_STOP_FAILED_STATE, CLUSTER_STOPPING_STATE(FillInMemoryStateStoreRestartAction.class), CLUSTER_STOP_FINISHED_STATE, FINAL_STATE; private Class<? extends DefaultRestartAction> restartAction = DefaultRestartAction.class; ClusterStopState() { } ClusterStopState(Class<? extends DefaultRestartAction> restartAction) { this.restartAction = restartAction; } @Override public Class<? extends RestartAction> restartAction() { return restartAction; } }