All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.sphere.sdk.states.StateDraft Maven / Gradle / Ivy

package io.sphere.sdk.states;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.sphere.sdk.annotations.FactoryMethod;
import io.sphere.sdk.annotations.ResourceDraftValue;
import io.sphere.sdk.models.LocalizedString;
import io.sphere.sdk.models.Reference;
import io.sphere.sdk.models.WithKey;

import javax.annotation.Nullable;
import java.util.Set;

/**
 * Template to create a new State.
 *
 * @see StateDraftBuilder
 */
@JsonDeserialize(as = StateDraftDsl.class)
@ResourceDraftValue(factoryMethods = @FactoryMethod(parameterNames = {"key", "type"}),
additionalBuilderClassContents = "    public StateDraftBuilder roles(final StateRole role) {\n" +
        "        return roles(Collections.singleton(role));\n" +
        "    }",
additionalDslClassContents = {"    public StateDraftDsl withRoles(final StateRole role) {\n" +
        "        return withRoles(Collections.singleton(role));\n" +
        "    }", "    public StateDraftDsl withInitial(final boolean initial) {\n" +
        "        return newBuilder().initial(initial).build();\n" +
        "    } "}, useBuilderStereotypeDslClass = true)
public interface StateDraft extends WithKey {
    String getKey();

    StateType getType();

    @Nullable
    LocalizedString getName();

    @Nullable
    LocalizedString getDescription();

    @Nullable
    @JsonProperty("initial")
    Boolean isInitial();

    @Nullable
    Set> getTransitions();

    @Nullable
    Set getRoles();

    static StateDraftDsl of(final String key, final StateType type) {
        return StateDraftDsl.of(key, type);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy