Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.usthb.modeles;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.HashMap;
- public class Abonne implements Serializable{
- private static int cpt=0;
- private final Integer codeAbonne;
- private String nom,prenom;
- private String dateN;
- private Categorie cat;
- private String username;
- private String password;
- private String specialite="",nivEtude="",fonction="";
- private HashMap<String,Abonne> listeAmis = new HashMap<String,Abonne>();
- private ArrayList<Invitation> ensInvitations = new ArrayList<Invitation>(); //l'abonné est la clé
- private ArrayList<Post> mur = new ArrayList<Post>();
- private ArrayList<Notification> ensNotifications = new ArrayList<Notification>();
- private HashMap<String,Groupe> ensGroupes = new HashMap<String,Groupe>(); //la clé est le nom du groupe
- private ArrayList<Post> actu = new ArrayList<Post>();
- private boolean online;
- //CONSTRUCTEUR
- public Abonne(String nom, String prenom, String dateN, String cat,String username,String password,String fonction,String specialite,String nivEtude){
- codeAbonne=cpt++;
- this.nom = nom;
- this.prenom = prenom;
- this.dateN = dateN;
- this.cat = Categorie.valueOf(cat.toLowerCase());
- this.username = username;
- this.password = password;
- this.specialite = specialite;
- this.nivEtude = nivEtude;
- this.fonction = fonction;
- }
- //SETTERS AND GETTERS
- public Integer getCode() {
- return codeAbonne;
- }
- public Categorie getCategorie() {
- return cat;
- }
- public String getPrenom() {
- return prenom;
- }
- public void setPrenom(String prenom) {
- this.prenom = prenom;
- }
- public String getNom() {
- return nom;
- }
- public void setNom(String nom) {
- this.nom = nom;
- }
- public String getDateNaissance() {
- return dateN;
- }
- public void setDateNaissance(String dateN) {
- this.dateN = dateN;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getSpecialite() {
- return specialite;
- }
- public void setSpecialite(String specialite) {
- this.specialite = specialite;
- }
- public String getNivEtude() {
- return nivEtude;
- }
- public void setNivEtude(String nivEtude) {
- this.nivEtude = nivEtude;
- }
- public String getFonction() {
- return fonction;
- }
- public void setFonction(String fonction) {
- this.fonction = fonction;
- }
- public boolean isOnline() {
- return online;
- }
- public void setOnline(boolean online) {
- this.online = online;
- }
- public ArrayList getNotifications(){
- return ensNotifications;
- }
- //METHODES
- //LISTE D'AMIS
- public HashMap<String,Abonne> getListeAmis(){
- return listeAmis;
- }
- public void afficherAmis() {
- for(Abonne ami:listeAmis.values()) {
- System.out.println(ami.nom + " " + ami.prenom);
- }
- }
- public boolean sontAmis(Abonne ami) {
- return listeAmis.containsKey(ami.username);
- }
- public boolean ontAmisCommuns(Abonne user) {
- for(String code: listeAmis.keySet()) {
- if(user.listeAmis.containsKey(code)) return true;
- }
- return false;
- }
- public void ajouterActuAmis(Post p){
- if(p!=null){
- for(Abonne abo:listeAmis.values()){
- abo.ajouterActu(p);
- }
- }
- }
- public void supprimerAmi(String ami){
- listeAmis.remove(ami);
- }
- public void ajouterAmi(Abonne ami){
- listeAmis.put(ami.getUsername(),ami);
- }
- public void supprimerTousLesAmis(){
- for(Abonne ami:listeAmis.values()){
- listeAmis.remove(ami.getUsername());
- ami.listeAmis.remove(username);
- }
- }
- //LISTE D'INVITATIONS
- public ArrayList getInvitations(){
- return ensInvitations;
- }
- public void ajouterInvitation(Invitation inv){
- ensInvitations.add(inv);
- }
- public void refuserInvitation(String user){
- for(Invitation invit: ensInvitations){
- if(invit.getEmetteur().equals(user)){
- invit.setEtat(InvitationEtat.refusée);
- break;}
- }
- }
- public void accepterInvitation(String user){
- for(Invitation invit: ensInvitations){
- if(invit.getEmetteur().equals(user)){
- invit.setEtat(InvitationEtat.acceptée);
- break;}
- }
- }
- public void afficherInvitations() {
- for(Invitation inv: ensInvitations) {
- System.out.println("< "+inv.getEmetteur()+" > vous a envoyé un message d'invitation: "+inv.getMessage() +"\nEtat de la demande d'ajout: "+inv.getEtat());
- }
- }
- // METHODES MUR
- public void ajouterPost(Post p) {
- mur.add(p);
- }
- public void supprimerPost(Post p) {//l'abonné supprime le post qu'il veut de son mur
- mur.remove(p);
- }
- public void afficherMur(String visibilite) {//double parcours :(
- for(Post p: mur) { //affichage des posts épinglés
- if(p.isEpinglee())
- p.afficherPost(this.username,Visibilite.valueOf(visibilite.toLowerCase()).getNiveau() );
- }
- for(Post p: mur) {//affichage des posts restants
- if(!p.isEpinglee())
- p.afficherPost(this.username,Visibilite.valueOf(visibilite.toLowerCase()).getNiveau() );
- }
- }
- //METHODES NOTIFICATIONS
- public void ajouterNotification(Notification notif) {
- ensNotifications.add(notif);
- }
- public void afficherNotifications() {
- for(Notification notif : ensNotifications) {
- notif.afficherNotification();
- }
- }
- //METHODES GROUPES
- public void ajouterGroupe(Groupe grp) {
- ensGroupes.put(grp.getGroupName(), grp);
- }
- public void ajouterGroupe(String grp) {
- if(ServeurMiniFacebook.groupeExiste(grp))
- ensGroupes.put(grp, ServeurMiniFacebook.getGroupe(grp));
- }
- public void quitterGroupe(Groupe grp) {
- ensGroupes.remove(grp.getGroupName());
- }
- public void quitterGroupe(String grp) {
- ensGroupes.remove(grp);
- }
- public void afficherGroupes() {
- for(String grp : ensGroupes.keySet()) {
- System.out.println(grp);
- }
- }
- //METHODES FIL D'ACTUALITES
- public void ajouterActu(Post p){
- if(p!=null)
- actu.add(p);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement