Advertisement
Guest User

Untitled

a guest
May 1st, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.09 KB | None | 0 0
  1. package com.usthb.modeles;
  2.  
  3. import java.io.Serializable;
  4. import java.util.ArrayList;
  5. import java.util.HashMap;
  6.  
  7.  
  8. public class Abonne{
  9.  
  10. private static int cpt=0;
  11. private final Integer codeAbonne;
  12. private String nom,prenom;
  13. private String dateN;
  14. private Categorie cat;
  15. private String username;
  16. private String password;
  17. private String specialite="",nivEtude="",fonction="";
  18. private HashMap<String,Abonne> listeAmis = new HashMap<String,Abonne>();
  19. private HashMap<String,Invitation> ensInvitations = new HashMap<String,Invitation>(); //l'abonné est la clé
  20. private ArrayList<Integer> mur = new ArrayList<Integer>();
  21. private ArrayList<Notification> ensNotifications = new ArrayList<Notification>();
  22. private HashMap<String,Groupe> ensGroupes = new HashMap<String,Groupe>(); //la clé est le nom du groupe
  23. private ArrayList<Integer> actu = new ArrayList<Integer>();
  24. private int online=0;
  25.  
  26. //CONSTRUCTEUR
  27. public Abonne(String nom, String prenom, String dateN, String cat,String username,String password,String fonction,String specialite,String nivEtude){
  28.  
  29. codeAbonne=cpt++;
  30. this.nom = nom;
  31. this.prenom = prenom;
  32. this.dateN = dateN;
  33. this.cat = Categorie.valueOf(cat.toLowerCase());
  34. this.username = username;
  35. this.password = password;
  36. this.specialite = specialite;
  37. this.nivEtude = nivEtude;
  38. this.fonction = fonction;
  39.  
  40. }
  41.  
  42. //SETTERS AND GETTERS
  43. public Integer getCode() {
  44. return codeAbonne;
  45. }
  46.  
  47. public Categorie getCategorie() {
  48. return cat;
  49. }
  50.  
  51. public String getPrenom() {
  52. return prenom;
  53. }
  54.  
  55. public void setPrenom(String prenom) {
  56. this.prenom = prenom;
  57. }
  58.  
  59. public String getNom() {
  60. return nom;
  61. }
  62.  
  63. public void setNom(String nom) {
  64. this.nom = nom;
  65. }
  66.  
  67. public String getDateNaissance() {
  68. return dateN;
  69. }
  70.  
  71. public void setDateNaissance(String dateN) {
  72. this.dateN = dateN;
  73. }
  74.  
  75. public String getUsername() {
  76. return username;
  77. }
  78.  
  79. public void setUsername(String username) {
  80.  
  81. this.username = username;
  82. }
  83.  
  84. public String getPassword() {
  85. return password;
  86. }
  87.  
  88. public void setPassword(String password) {
  89. this.password = password;
  90. }
  91.  
  92. public String getSpecialite() {
  93. return specialite;
  94. }
  95.  
  96. public void setSpecialite(String specialite) {
  97. this.specialite = specialite;
  98. }
  99.  
  100. public String getNivEtude() {
  101. return nivEtude;
  102. }
  103.  
  104. public void setNivEtude(String nivEtude) {
  105. this.nivEtude = nivEtude;
  106. }
  107.  
  108. public String getFonction() {
  109. return fonction;
  110. }
  111.  
  112. public void setFonction(String fonction) {
  113. this.fonction = fonction;
  114. }
  115. public boolean isOnline() {
  116. return online!=0;
  117. }
  118.  
  119. public void setOnline(boolean on) {
  120. if(on)
  121. online++;
  122. else
  123. online--;
  124. }
  125.  
  126. public ArrayList getNotifications(){
  127. return ensNotifications;
  128. }
  129.  
  130.  
  131.  
  132. //METHODES
  133.  
  134. //LISTE D'AMIS
  135.  
  136.  
  137. public HashMap<String,Abonne> getListeAmis(){
  138. return listeAmis;
  139. }
  140.  
  141. public void afficherAmis() {
  142. for(Abonne ami:listeAmis.values()) {
  143. System.out.println(ami.nom + " " + ami.prenom);
  144. }
  145.  
  146. }
  147.  
  148. public boolean sontAmis(String ami) {
  149. return listeAmis.containsKey(ami);
  150. }
  151.  
  152. public boolean ontAmisCommuns(Abonne user) {
  153. for(String code: listeAmis.keySet()) {
  154. if(user.listeAmis.containsKey(code)) return true;
  155. }
  156. return false;
  157. }
  158.  
  159.  
  160. public void ajouterActuAmis(int p){
  161. for(Abonne abo:listeAmis.values()){
  162. abo.ajouterActu(p);
  163. }
  164.  
  165. }
  166.  
  167. public void supprimerActuAmis(int p){
  168. for(Abonne abo:listeAmis.values()){
  169. abo.supprimerActu(p);
  170. }
  171.  
  172. }
  173. public void supprimerAmi(String ami){
  174. listeAmis.remove(ami);
  175. }
  176.  
  177. public void ajouterAmi(Abonne ami){
  178. listeAmis.put(ami.getUsername(),ami);
  179. }
  180.  
  181. public void supprimerTousLesAmis(){
  182. for(Abonne ami:listeAmis.values()){
  183. listeAmis.remove(ami.getUsername());
  184. ami.listeAmis.remove(username);
  185. }
  186. }
  187.  
  188.  
  189. //LISTE D'INVITATIONS
  190.  
  191. public ArrayList getInvitations(){
  192. return (ArrayList) ensInvitations.values();
  193. }
  194.  
  195. public void ajouterInvitation(Invitation inv){
  196. ensInvitations.put(inv.getEmetteur(),inv);
  197. }
  198.  
  199. public void refuserInvitation(String user){
  200. Invitation inv=ensInvitations.get(user);
  201. if(inv!=null)
  202. inv.setEtat(InvitationEtat.refusée);
  203. }
  204.  
  205.  
  206. public void accepterInvitation(String user){
  207. Invitation inv=ensInvitations.get(user);
  208. if(inv!=null)
  209. inv.setEtat(InvitationEtat.acceptée);
  210. }
  211. public void afficherInvitations() {
  212. for(Invitation inv: ensInvitations.values()) {
  213. System.out.println("< "+inv.getEmetteur()+" > vous a envoyé un message d'invitation: "+inv.getMessage() +"\nEtat de la demande d'ajout: "+inv.getEtat());
  214. }
  215. }
  216.  
  217. public boolean invitationEnvoyee(String user){
  218. return ensInvitations.containsKey(user);
  219. }
  220.  
  221.  
  222. // METHODES MUR
  223.  
  224. public void ajouterPost(int p) {
  225. mur.add(p);
  226. }
  227.  
  228. public void supprimerPost(int p) {//l'abonné supprime le post qu'il veut de son mur
  229. mur.remove(p);
  230. }
  231.  
  232.  
  233. public ArrayList<Integer> getMur(){
  234. return mur;
  235. }
  236. //METHODES NOTIFICATIONS
  237.  
  238. public void ajouterNotification(Notification notif) {
  239. ensNotifications.add(notif);
  240. }
  241.  
  242. public void afficherNotifications() {
  243. for(Notification notif : ensNotifications) {
  244. notif.afficherNotification();
  245. }
  246. }
  247.  
  248.  
  249.  
  250.  
  251. //METHODES GROUPES
  252.  
  253. public void ajouterGroupe(Groupe grp) {
  254. ensGroupes.put(grp.getGroupName(), grp);
  255. }
  256.  
  257. public void quitterGroupe(Groupe grp) {
  258. ensGroupes.remove(grp.getGroupName());
  259. }
  260.  
  261. public void quitterGroupe(String grp) {
  262. ensGroupes.remove(grp);
  263. }
  264.  
  265. public void afficherGroupes() {
  266. for(String grp : ensGroupes.keySet()) {
  267. System.out.println(grp);
  268. }
  269. }
  270.  
  271. //METHODES FIL D'ACTUALITES
  272.  
  273. public void ajouterActu(int p){
  274. actu.add(p);
  275. }
  276. public void supprimerActu(Integer p){
  277. actu.remove(p);
  278. }
  279. public ArrayList<Integer> getActu(){
  280. return actu;
  281. }
  282.  
  283.  
  284. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement