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

import java.io.Serializable;
import java.time.Instant;
import java.util.Objects;

/**
 * A DTO for the {@link it.sw.pa.comune.artegna.domain.Liberatoria} entity.
 */
@SuppressWarnings("common-java:DuplicatedBlocks")
public class LiberatoriaDTO implements Serializable {

    private Long id;

    private Instant accettata;

    private UtenteAppDTO utente;

    private ModelloLiberatoriaDTO modelloLiberatoria;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Instant getAccettata() {
        return accettata;
    }

    public void setAccettata(Instant accettata) {
        this.accettata = accettata;
    }

    public UtenteAppDTO getUtente() {
        return utente;
    }

    public void setUtente(UtenteAppDTO utente) {
        this.utente = utente;
    }

    public ModelloLiberatoriaDTO getModelloLiberatoria() {
        return modelloLiberatoria;
    }

    public void setModelloLiberatoria(ModelloLiberatoriaDTO modelloLiberatoria) {
        this.modelloLiberatoria = modelloLiberatoria;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof LiberatoriaDTO)) {
            return false;
        }

        LiberatoriaDTO liberatoriaDTO = (LiberatoriaDTO) o;
        if (this.id == null) {
            return false;
        }
        return Objects.equals(this.id, liberatoriaDTO.id);
    }

    @Override
    public int hashCode() {
        return Objects.hash(this.id);
    }

    // prettier-ignore
    @Override
    public String toString() {
        return "LiberatoriaDTO{" +
            "id=" + getId() +
            ", accettata='" + getAccettata() + "'" +
            ", utente=" + getUtente() +
            ", modelloLiberatoria=" + getModelloLiberatoria() +
            "}";
    }
}
