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.Messaggio} entity.
 */
@SuppressWarnings("common-java:DuplicatedBlocks")
public class MessaggioDTO implements Serializable {

    private Long id;

    private Instant spedito;

    private String testo;

    private Instant letto;

    private UtenteAppDTO utente;

    public Long getId() {
        return id;
    }

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

    public Instant getSpedito() {
        return spedito;
    }

    public void setSpedito(Instant spedito) {
        this.spedito = spedito;
    }

    public String getTesto() {
        return testo;
    }

    public void setTesto(String testo) {
        this.testo = testo;
    }

    public Instant getLetto() {
        return letto;
    }

    public void setLetto(Instant letto) {
        this.letto = letto;
    }

    public UtenteAppDTO getUtente() {
        return utente;
    }

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

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

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

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

    // prettier-ignore
    @Override
    public String toString() {
        return "MessaggioDTO{" +
            "id=" + getId() +
            ", spedito='" + getSpedito() + "'" +
            ", testo='" + getTesto() + "'" +
            ", letto='" + getLetto() + "'" +
            ", utente=" + getUtente() +
            "}";
    }
}
