package com.sequenceiq.cloudbreak.core.flow2.cluster.start; 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 ClusterStartState implements FlowState { INIT_STATE, CLUSTER_START_FAILED_STATE, CLUSTER_STARTING_STATE, CLUSTER_START_POLLING_STATE(FillInMemoryStateStoreRestartAction.class), CLUSTER_START_FINISHED_STATE, FINAL_STATE; private Class<? extends DefaultRestartAction> restartAction = DefaultRestartAction.class; ClusterStartState() { } ClusterStartState(Class<? extends DefaultRestartAction> restartAction) { this.restartAction = restartAction; } @Override public Class<? extends RestartAction> restartAction() { return restartAction; } }