io.sphere.sdk.customergroups.commands.CustomerGroupUpdateCommand Maven / Gradle / Ivy
/*
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.customergroups.CustomerGroup.
To render this class the handlebars template 'commands/updateCommandInterface.hbs' has been used.
*/
package io.sphere.sdk.customergroups.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.customergroups.CustomerGroup;
import io.sphere.sdk.customergroups.expansion.CustomerGroupExpansionModel;
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 customer group.
{@doc.gen list actions}
@see CustomerGroup
*/
public interface CustomerGroupUpdateCommand extends UpdateCommandDsl, MetaModelReferenceExpansionDsl> {
/**
Creates a command to update a CustomerGroup selected by its ID using several update actions.
@param versioned the object to update (so directly a {@link CustomerGroup}) or just the version/ID information of it
@param updateActions the updates
@return the update command for CustomerGroup
*/
static CustomerGroupUpdateCommand of(final Versioned versioned, final List extends UpdateAction> updateActions) {
return new CustomerGroupUpdateCommandImpl(versioned, updateActions);
}
/**
Creates a command to update a CustomerGroup selected by its ID using one update action.
@param versioned the object to update (so directly a {@link CustomerGroup}) 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 CustomerGroup
*/
@SafeVarargs
static CustomerGroupUpdateCommand 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 CustomerGroupUpdateCommandImpl(versioned, actions);
}
/**
Creates a command to update a CustomerGroup selected by its key using several update actions.
@param key the key of the CustomerGroup to update, see {@link CustomerGroup#getKey()}
@param version the current version of the CustomerGroup, see {@link CustomerGroup#getVersion()}
@param updateActions the updates
@return the update command for CustomerGroup
*/
static CustomerGroupUpdateCommand 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 CustomerGroupUpdateCommandImpl(versioned, updateActions);
}
/**
Creates a command to update a CustomerGroup selected by its key using one update action.
@param key the key of the CustomerGroup to update, see {@link CustomerGroup#getKey()}
@param version the current version of the CustomerGroup, see {@link CustomerGroup#getVersion()}
@param updateAction the update to perform
@return the update command for CustomerGroup
*/
static CustomerGroupUpdateCommand ofKey(final String key, final Long version, final UpdateAction updateAction) {
return ofKey(key, version, Collections.singletonList(updateAction));
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy