package it.sw.pa.comune.artegna.service;

import it.sw.pa.comune.artegna.service.dto.StrutturaDTO;
import java.util.Optional;

/**
 * Service Interface for managing {@link it.sw.pa.comune.artegna.domain.Struttura}.
 */
public interface StrutturaService {
    /**
     * Save a struttura.
     *
     * @param strutturaDTO the entity to save.
     * @return the persisted entity.
     */
    StrutturaDTO save(StrutturaDTO strutturaDTO);

    /**
     * Updates a struttura.
     *
     * @param strutturaDTO the entity to update.
     * @return the persisted entity.
     */
    StrutturaDTO update(StrutturaDTO strutturaDTO);

    /**
     * Partially updates a struttura.
     *
     * @param strutturaDTO the entity to update partially.
     * @return the persisted entity.
     */
    Optional<StrutturaDTO> partialUpdate(StrutturaDTO strutturaDTO);

    /**
     * Get the "id" struttura.
     *
     * @param id the id of the entity.
     * @return the entity.
     */
    Optional<StrutturaDTO> findOne(Long id);

    /**
     * Delete the "id" struttura.
     *
     * @param id the id of the entity.
     */
    void delete(Long id);
}
