Repository navigation
Expand file tree
/
Copy pathCitoyen.java
More file actions
126 lines (125 loc) · 3.54 KB
/
Copy pathCitoyen.java
File metadata and controls
126 lines (125 loc) · 3.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
import java.util.Vector;
/**
*
*/
public abstract class Citoyen {
public Citoyen(int id, String n, String p, DateCivil d, Mairie m){
identifiant = id;
nom = n;
prenom = p;
dateNaissance = d;
mairie = m;
listMariage = new Vector<Mariage>();
}
/**
*
*/
private int identifiant;
/**
*
*/
private String nom;
/**
*
*/
private String prenom;
/**
*
*/
private DateCivil dateNaissance;
/**
*
*/
private Mairie mairie;
/**
*
*/
private Deces acteDeces;
/**
*
*/
private Vector<Mariage> listMariage;
public int getIdentifiant(){
return identifiant;
}
public String getNom(){
return nom;
}
public String getPrenom(){
return prenom;
}
public DateCivil getDateNaissance(){
return dateNaissance;
}
public Mairie getMairie(){
return mairie;
}
public Deces getActeDeces(){
return acteDeces;
}
public void setActeDeces(Deces d){
acteDeces = d;
}
public Vector<Mariage> getListMariage(){
return listMariage;
}
public boolean estMajeur(){
return DateCivil.anneeActuelle - dateNaissance.getAnnee() >= 18;
}
public void ajouterMariage(Mariage mariage){
listMariage.add(mariage);
}
public boolean estMarie() {
for (int i = 0; i < listMariage.size(); i++){
if (!listMariage.get(i).isDivorce()){
return true;
}
}
return false;
}
public EtatCivil getEtatCivil(){
if (acteDeces != null){
return EtatCivil.DECEDE;
}
for (int i = 0; i < listMariage.size(); i++){
if (!listMariage.get(i).isDivorce()){
Citoyen conjoint;
if (listMariage.get(i).getEpoux1() == this){
conjoint = listMariage.get(i).getEpoux2();
}
else{
conjoint = listMariage.get(i).getEpoux1();
}
if(conjoint.getActeDeces()==null){ // si le conjoint n'est pas decede alors le citoyen est marie
return EtatCivil.MARIE;
}
}
}
if (listMariage.size() > 0){ // car on a deja testé si il était marié
return EtatCivil.DIVORCE;
}
return EtatCivil.CELIBATAIRE; // si non marié ni divorcé ni decedé alors celibataire
}
public int getConjointId() {
for (int i = 0; i < listMariage.size(); i++){
if (!listMariage.get(i).isDivorce()) { // si il est marié alors on retourne l'id de son conjoint
if (listMariage.get(i).getEpoux1() == this){
return listMariage.get(i).getEpoux2().getIdentifiant();
}
else{
return listMariage.get(i).getEpoux1().getIdentifiant();
}
}
}
return -1; // -1 ou 0 permet de savoir les ids qui marchent pas
}
public abstract String getSexe();
@Override
public String toString(){
String conjoint = "Aucun";
if (getConjointId() != -1){
conjoint = "" + getConjointId();
}
return identifiant + " - " + prenom + " " + nom + " - " + getSexe() + " - " + getEtatCivil() + " - Conjoint: " + conjoint;
}
}