/* * Copyright 2011-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.stepfunctions.builder.states; import com.amazonaws.services.stepfunctions.builder.internal.Buildable; import com.amazonaws.services.stepfunctions.builder.internal.PropertyNames; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; /** * Base interface for all states that can be used in a {@link com.amazonaws.services.stepfunctions.builder.StateMachine}. * *
This interface should not be implemented outside the SDK.
*/ public interface State { /** * Type identifier for a {@link ChoiceState}. */ String CHOICE = "Choice"; /** * Type identifier for a {@link FailState}. */ String FAIL = "Fail"; /** * Type identifier for a {@link ParallelState}. */ String PARALLEL = "Parallel"; /** * Type identifier for a {@link MapState}. */ String MAP = "Map"; /** * Type identifier for a {@link PassState}. */ String PASS = "Pass"; /** * Type identifier for a {@link SucceedState}. */ String SUCCEED = "Succeed"; /** * Type identifier for a {@link TaskState}. */ String TASK = "Task"; /** * Type identifier for a {@link WaitState}. */ String WAIT = "Wait"; /** * @return The type identifier for this state. */ @JsonProperty(PropertyNames.TYPE) String getType(); @JsonIgnore boolean isTerminalState();