Role.java 1.45 KB
package etunicorn.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;

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

/**
 * etunicorn-server
 * Copyright © 2017 Le Club Info Polytech Lille
 * Tous droits réservés
 */
@Entity
public class Role {
    @Id
    @Column(unique = true)
    private String nom = "etudiant";

    @ManyToMany
    private List<Permission> permissions;

    @OneToMany(mappedBy = "role")
    private List<Personne> membres;

    public Role() {
    }

    public Role(String nom, List<Permission> permissions) {
        this.nom = nom;
        this.permissions = permissions;
    }

    public String getNom() {
        return nom;
    }

    public void setNom(String nom) {
        this.nom = nom;
    }

    public Collection<Permission> getPermissions() {
        return permissions;
    }

    public void setPermissions(List<Permission> permissions) {
        this.permissions = permissions;
    }

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

    public void addPermission(Permission permission) {
        this.permissions.add(permission);
    }

    public void delPermission(Permission permission) {
        this.permissions.remove(permission);
    }

    @JsonIgnore
    public List<Personne> getMembres() {
        return membres;
    }

    public void setMembres(List<Personne> membres) {
        this.membres = membres;
    }
}