io.sphere.sdk.customers.commands.CustomerDeleteCommand Maven / Gradle / Ivy
/*
This class has been generated by class io.sphere.sdk.annotations.processors.DeleteCommandEndpointAnnotationProcessor
induced by the annotation io.sphere.sdk.annotations.HasDeleteCommand.
in the source class io.sphere.sdk.customers.Customer.
To render this class the handlebars template 'commands/deleteCommandInterface.hbs' has been used.
*/
package io.sphere.sdk.customers.commands;
import io.sphere.sdk.commands.DeleteCommand;
import io.sphere.sdk.expansion.MetaModelReferenceExpansionDsl;
import io.sphere.sdk.models.Versioned;
import io.sphere.sdk.customers.Customer;
import io.sphere.sdk.customers.expansion.CustomerExpansionModel;
import static io.sphere.sdk.client.SphereRequestUtils.urlEncode;
/**
Deletes a customer.
{@include.example io.sphere.sdk.customers.commands.CustomerDeleteCommandIntegrationTest#execution() }
@see Customer
*/
public interface CustomerDeleteCommand extends MetaModelReferenceExpansionDsl>, DeleteCommand {
/**
Creates a command object to delete a {@link Customer} by ID.
@param versioned the object to delete (so directly a {@link Customer}) or just the version/ID information of it
@return delete command
*/
static CustomerDeleteCommand of(final Versioned versioned) {
return new CustomerDeleteCommandImpl(versioned,false);
}
/**
Creates a command object to delete a {@link Customer} by ID.
@param versioned the object to delete (so directly a {@link Customer}) or just the version/ID information of it
@param eraseData If set to {@literal true}, Composable Commerce guarantees that all personal data related to the particular object, including invisible data, is erased, in compliance with the GDPR.
@return delete command
*/
static CustomerDeleteCommand of(final Versioned versioned,final boolean eraseData) {
return new CustomerDeleteCommandImpl(versioned,eraseData);
}
/**
Creates a command object to delete a {@link Customer} by its key.
@param key the key of the Customer to delete, see {@link Customer#getKey()}
@param version `the current version of the Customer, see {@link Customer#getVersion()}
@return delete command
*/
static CustomerDeleteCommand ofKey(final String key, final Long version) {
final Versioned versioned = Versioned.of("key=" + urlEncode(key), version);//hack for simple reuse
return of(versioned);
}
/**
Creates a command object to delete a {@link Customer} by its key.
@param key the key of the Customer to delete, see {@link Customer#getKey()}
@param version the current version of the Customer, see {@link Customer#getVersion()}
@param eraseData If set to {@literal true}, Composable Commerce guarantees that all personal data related to the particular object, including invisible data, is erased, in compliance with the GDPR.
@return delete command
*/
static CustomerDeleteCommand ofKey(final String key, final Long version, final boolean eraseData) {
final Versioned versioned = Versioned.of("key=" + urlEncode(key), version);//hack for simple reuse
return of(versioned, eraseData);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy