DomainTemplateDeleteSelectedService.java
package fr.tiogars.inception.domains.domaintemplate.services;
import java.util.List;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import fr.tiogars.inception.common.models.DeleteSelectedResponse;
import fr.tiogars.inception.common.services.DeleteSelectedSupport;
/**
* Soft-deletes a selection of DomainTemplates in a single transaction.
*
* @since 0.1.0
*/
@Service
public class DomainTemplateDeleteSelectedService {
private final DomainTemplateDeleteService deleteService;
/**
* Creates the bulk deletion service.
*
* @param deleteService single DomainTemplate deletion service
*/
public DomainTemplateDeleteSelectedService(DomainTemplateDeleteService deleteService) {
this.deleteService = deleteService;
}
/**
* Soft-deletes the selected DomainTemplates.
*
* @param ids selected DomainTemplate identifiers
* @return deleted and skipped identifiers
*/
@Transactional
public DeleteSelectedResponse deleteSelected(List<Long> ids) {
return DeleteSelectedSupport.deleteEach(ids, deleteService::delete);
}
}