io.sphere.sdk.payments.commands.PaymentUpdateCommand Maven / Gradle / Ivy
The newest version!
/*
This class has been generated by class io.sphere.sdk.annotations.processors.UpdateCommandEndpointAnnotationProcessor
induced by the annotation io.sphere.sdk.annotations.HasUpdateCommand.
in the source class io.sphere.sdk.payments.Payment.
To render this class the handlebars template 'commands/updateCommandInterface.hbs' has been used.
*/
package io.sphere.sdk.payments.commands;
import io.sphere.sdk.commands.UpdateAction;
import io.sphere.sdk.commands.UpdateCommandDsl;
import io.sphere.sdk.expansion.MetaModelReferenceExpansionDsl;
import io.sphere.sdk.models.Versioned;
import io.sphere.sdk.payments.Payment;
import io.sphere.sdk.payments.expansion.PaymentExpansionModel;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import static io.sphere.sdk.client.SphereRequestUtils.urlEncode;
/**
Updates a payment.
{@doc.gen list actions}
@see Payment
*/
public interface PaymentUpdateCommand extends UpdateCommandDsl, MetaModelReferenceExpansionDsl> {
/**
Creates a command to update a Payment selected by its ID using several update actions.
@param versioned the object to update (so directly a {@link Payment}) or just the version/ID information of it
@param updateActions the updates
@return the update command for Payment
*/
static PaymentUpdateCommand of(final Versioned versioned, final List extends UpdateAction> updateActions) {
return new PaymentUpdateCommandImpl(versioned, updateActions);
}
/**
Creates a command to update a Payment selected by its ID using one update action.
@param versioned the object to update (so directly a {@link Payment}) or just the version/ID information of it
@param updateAction the update to perform
@param updateActions additional updates to perform
@return the update command for Payment
*/
@SafeVarargs
static PaymentUpdateCommand of(final Versioned versioned, final UpdateAction updateAction, final UpdateAction... updateActions) {
final List> actions = new ArrayList<>();
actions.add(updateAction);
actions.addAll(Arrays.asList(updateActions));
return new PaymentUpdateCommandImpl(versioned, actions);
}
/**
Creates a command to update a Payment selected by its key using several update actions.
@param key the key of the Payment to update, see {@link Payment#getKey()}
@param version the current version of the Payment, see {@link Payment#getVersion()}
@param updateActions the updates
@return the update command for Payment
*/
static PaymentUpdateCommand ofKey(final String key, final Long version, final List extends UpdateAction> updateActions) {
final Versioned versioned = Versioned.of("key=" + urlEncode(key), version);//hack for simple reuse
return new PaymentUpdateCommandImpl(versioned, updateActions);
}
/**
Creates a command to update a Payment selected by its key using one update action.
@param key the key of the Payment to update, see {@link Payment#getKey()}
@param version the current version of the Payment, see {@link Payment#getVersion()}
@param updateAction the update to perform
@return the update command for Payment
*/
static PaymentUpdateCommand ofKey(final String key, final Long version, final UpdateAction updateAction) {
return ofKey(key, version, Collections.singletonList(updateAction));
}
}