Personne.java 2.45 KB
package etunicorn.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;

import javax.persistence.*;
import java.util.Date;
import java.util.List;

/**
 * etunicorn-server
 * Copyright © 2017 Le Club Info Polytech Lille
 * Tous droits réservés
 */
@Entity
public class Personne {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;

    @Column(unique = true)
    private String carte;

    private Date naissance;

    @Column(unique = true)
    private String login;

    @ManyToOne
    private Role role;

    @OneToMany(mappedBy = "participant")
    private List<Transaction> operations;

    @OneToMany(mappedBy = "acteur")
    private List<Transaction> realisees;

    @ManyToMany()
    private List<Evenement> participations;


    public Personne() {
    }

    public Personne(String carte, Date naissance, String login, Role role) {
        this.carte = carte;
        this.naissance = naissance;
        this.login = login;
        this.role = role;
    }

    public int getId() {
        return id;
    }

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

    public String getCarte() {
        return carte;
    }

    public void setCarte(String carte) {
        this.carte = carte;
    }

    @JsonFormat(pattern="YYYY-MM-DD hh:mm:ss")
    public Date getNaissance() {
        return naissance;
    }

    public void setNaissance(Date naissance) {
        this.naissance = naissance;
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public Role getRole() {
        return role;
    }

    public void setRole(Role role) {
        this.role = role;
    }

    public boolean hasPermission(Permission permission) {
        return role.hasPermission(permission);
    }

    @JsonIgnore
    public List<Transaction> getOperations() {
        return operations;
    }

    public void setOperations(List<Transaction> operations) {
        this.operations = operations;
    }

    @JsonIgnore
    public List<Transaction> getRealisees() {
        return realisees;
    }

    public void setRealisees(List<Transaction> realisees) {
        this.realisees = realisees;
    }

    @JsonIgnore
    public List<Evenement> getParticipations() {
        return participations;
    }

    public void setParticipations(List<Evenement> participations) {
        this.participations = participations;
    }
}