Utente.java
package model.beans;
import model.beans.proxyInterfaces.UtenteInterface;
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.List;
public final class Utente implements UtenteInterface {
/**
* Id dell'utente.
*/
private int idUtente;
/**
* Data del ban dell'utente.
*/
private LocalDateTime dataBan;
/**
* Booleano che identifica se l'utente è admin oppure no.
*/
private boolean admin;
/**
* Path della fotoProfilo.
*/
private String fotoProfilo;
/**
* Password dell'utente.
*/
private String password;
/**
* Numero di telefono.
*/
private String telefono;
/**
* Nome dell'utente.
*/
private String nome;
/**
* Cognome dell'utente.
*/
private String cognome;
/**
* Email dell'utente.
*/
private String email;
/**
* Strada dell'abitazione dell'utente.
*/
private String strada;
/**
* Città dell'utente.
*/
private String citta;
/**
* Cap dell'utente.
*/
private String cap;
/**
* Codice Fiscale dell'utente.
*/
private String cf;
/**
* Data di nascita dell'utente.
*/
private LocalDate dataDiNascita;
/**
* Lista delle donazioni effettuate dall'utente.
*/
private List<Donazione> donazioni;
/**
* Lista delle segnalazioni effettuate.
*/
private List<Segnalazione> segnalazioni;
/**
* Lista delle campagne avviate dall'utente.
*/
private List<Campagna> campagne;
/**
* @return idUtente.
*/
public int getIdUtente() {
return idUtente;
}
/**
* @param id idUtente.
*/
public void setIdUtente(final int id) {
this.idUtente = id;
}
/**
* @return dataBan.
*/
public LocalDateTime getDataBan() {
return dataBan;
}
/**
* @param data Data del ban.
*/
public void setDataBan(final LocalDateTime data) {
if (data == null) {
this.dataBan = null;
} else {
this.dataBan = data.truncatedTo(ChronoUnit.MINUTES);
}
}
/**
* @return isAdmin.
*/
public boolean isAdmin() {
return admin;
}
/**
* @param adm bool (Admin==1/Utente normale==0).
*/
public void setAdmin(final boolean adm) {
this.admin = adm;
}
/**
* @return Path della foto profilo.
*/
public String getFotoProfilo() {
return fotoProfilo;
}
/**
* @param path Path della foto profilo.
*/
public void setFotoProfilo(final String path) {
this.fotoProfilo = path;
}
/**
* @return Password.
*/
public String getPassword() {
return password;
}
/**
* @param pw Password.
*/
public void setPassword(final String pw) {
this.password = pw;
}
/**
* @return Telefono registrato.
*/
public String getTelefono() {
return telefono;
}
/**
* @param tf Telefono da registrare.
*/
public void setTelefono(final String tf) {
this.telefono = tf;
}
/**
* @return Nome dell'utente.
*/
public String getNome() {
return nome;
}
/**
* @param name Nome dell'utente.
*/
public void setNome(final String name) {
this.nome = name;
}
/**
* @return Cognome dell'utente.
*/
public String getCognome() {
return cognome;
}
/**
* @param surname Cognome dell'utente.
*/
public void setCognome(final String surname) {
this.cognome = surname;
}
/**
* @return E-mail dell'utente.
*/
public String getEmail() {
return email;
}
/**
* @param em E-mail dell'utente.
*/
public void setEmail(final String em) {
this.email = em;
}
/**
* @return Strada dell'utente.
*/
public String getStrada() {
return strada;
}
/**
* @param st Strada dell'utente.
*/
public void setStrada(final String st) {
this.strada = st;
}
/**
* @return Città dell'utente.
*/
public String getCitta() {
return citta;
}
/**
* @param city Città dell'utente.
*/
public void setCitta(final String city) {
this.citta = city;
}
/**
* @return Cap dell'utente.
*/
public String getCap() {
return cap;
}
/**
* @param newCap Cap dell'utente.
*/
public void setCap(final String newCap) {
this.cap = newCap;
}
/**
* @return Codice Fiscale dell'utente.
*/
public String getCf() {
return cf;
}
/**
* @param codf Codice Fiscale dell'utente.
*/
public void setCf(final String codf) {
this.cf = codf;
}
/**
* @return Data Di Nascita dell'utente.
*/
public LocalDate getDataDiNascita() {
return dataDiNascita;
}
/**
* @param ddn Data Di Nascita dell'utente.
*/
public void setDataDiNascita(final LocalDate ddn) {
this.dataDiNascita = ddn;
}
/**
* @return Lista donazioni effettuate dall'utente.
*/
@Override
public List<Donazione> getDonazioni() {
return donazioni;
}
/**
* @param dList Lista donazioni effettuate dall'utente.
*/
public void setDonazioni(final List<Donazione> dList) {
this.donazioni = dList;
}
/**
* @return Lista effettuate.
*/
@Override
public List<Segnalazione> getSegnalazioni() {
return segnalazioni;
}
/**
* @param sList List effettuate.
*/
public void setSegnalazioni(final List<Segnalazione> sList) {
this.segnalazioni = sList;
}
/**
* @return Lista delle campagne avviate dall'utente.
*/
@Override
public List<Campagna> getCampagne() {
return campagne;
}
/**
* @param cList Lista delle campagne avviate dall'utente.
*/
public void setCampagne(final List<Campagna> cList) {
this.campagne = cList;
}
/**
* @param newPassword la password su cui viene eseguita la funzione di hash.
*/
public void createPasswordHash(final String newPassword) {
MessageDigest digest = null;
try {
digest = MessageDigest.getInstance("SHA-256");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
digest.reset();
digest.update(newPassword.getBytes(StandardCharsets.UTF_8));
password = String.format("%040x", new BigInteger(1, digest.digest()));
}
@Override
public String toString() {
return "Utente{"
+ "idUtente=" + idUtente
+ ", dataBan=" + dataBan
+ ", admin=" + admin
+ ", fotoProfilo='" + fotoProfilo + '\''
+ ", password='" + password + '\''
+ ", telefono='" + telefono + '\''
+ ", nome='" + nome + '\''
+ ", cognome='" + cognome + '\''
+ ", email='" + email + '\''
+ ", strada='" + strada + '\''
+ ", citta='" + citta + '\''
+ ", cap='" + cap + '\''
+ ", cf='" + cf + '\''
+ ", dataDiNascita=" + dataDiNascita
+ '}';
}
}