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

io.sphere.sdk.payments.messages.PaymentStatusStateTransitionMessage Maven / Gradle / Ivy

There is a newer version: 1.0.0-M26
Show newest version
package io.sphere.sdk.payments.messages;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.sphere.sdk.messages.GenericMessageImpl;
import io.sphere.sdk.messages.MessageDerivateHint;
import io.sphere.sdk.models.Reference;
import io.sphere.sdk.payments.Payment;
import io.sphere.sdk.states.State;

import java.time.ZonedDateTime;

/**
 This message is the result of the {@link io.sphere.sdk.payments.commands.updateactions.TransitionState} update action.

 {@include.example io.sphere.sdk.payments.commands.PaymentUpdateCommandTest#transitionState()}

 @see Payment
 @see io.sphere.sdk.payments.commands.updateactions.TransitionState
 */
@JsonDeserialize(as = PaymentStatusStateTransitionMessage.class)//important to override annotation in Message class
public class PaymentStatusStateTransitionMessage extends GenericMessageImpl {
    public static final String MESSAGE_TYPE = "PaymentStatusStateTransition";
    public static final MessageDerivateHint MESSAGE_HINT =
            MessageDerivateHint.ofSingleMessageType(MESSAGE_TYPE, PaymentStatusStateTransitionMessage.class);

    private final Reference state;

    @JsonCreator
    private PaymentStatusStateTransitionMessage(final String id, final Long version, final ZonedDateTime createdAt, final ZonedDateTime lastModifiedAt, final JsonNode resource, final Long sequenceNumber, final Long resourceVersion, final String type, final Reference state) {
        super(id, version, createdAt, lastModifiedAt, resource, sequenceNumber, resourceVersion, type, Payment.class);
        this.state = state;
    }

    public Reference getState() {
        return state;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy