Bonjour à tous,
Alors voilà mon soucis.
J'ai une première classe
Vous voyez que cette première, contient un vecteur d'objets cJournee que voici :
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151 package classes; import MyExceptions.DateException; import java.io.FileOutputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.Calendar; /** * * @author threis raphael */ public class cPrestation implements Serializable{ // <editor-fold desc="Variables" defaultstate="collapsed"> private int iMois; private int iAnnee; private cJournee[] cjJours; private int iIdOuvrier; private String sNom; private String sPrenom; // </editor-fold> // <editor-fold desc="Constructeurs" defaultstate="collapsed"> /** * Constructeur par défaut */ public cPrestation() { iMois = 0; iAnnee = 0; iIdOuvrier = 0; sNom = ""; sPrenom = ""; } /** * Initialise les prestations du mois pour l'ouvrier * @param iId Identifiant de l'ouvrier. * @param Nom Nom de l'ouvrier. * @param Prenom Prénom de l'ouvrier */ public cPrestation(int iId, String Nom, String Prenom){ this.iIdOuvrier = iId; this.sNom = Nom; this.sPrenom = Prenom; } // </editor-fold> // <editor-fold desc="Setter et Getter" defaultstate="collapsed"> public cJournee[] getCjJours() { return cjJours; } /** * Initialise le tableau des jours du mois avec le nombre de jours du mois. */ private void setCjJours() throws DateException { if( this.iMois >= 0 && this.iAnnee >= 0) { Calendar c = Calendar.getInstance(); c.set(Calendar.MONTH, this.iMois); c.set(Calendar.YEAR, this.iAnnee); c.set(Calendar.DAY_OF_MONTH, 1); int nbJours = c.getActualMaximum(Calendar.DAY_OF_MONTH); cjJours = new cJournee[nbJours]; } else if(this.iMois<1){ throw new DateException("Le mois est incohérent !"); } else if(this.iAnnee<1){ throw new DateException("L'année est incohérente !"); } } public int getAnnee() { return iAnnee; } public void setAnnee(int iAnnee) { this.iAnnee = iAnnee; try{ setCjJours(); } catch(DateException de){ System.out.println(de.getMessage()); } } public int getMois() { return iMois; } public void setMois(int iMois) { this.iMois = iMois; try{ setCjJours(); } catch(DateException de){ System.out.println(de.getMessage()); } } public int getIdOuvrier() { return iIdOuvrier; } public void setIdOuvrier(int idOuvrier) { this.iIdOuvrier = idOuvrier; } public String getNom() { return sNom; } public void setNom(String sNom) { this.sNom = sNom; } public String getPrenom() { return sPrenom; } public void setPrenom(String sPrenom) { this.sPrenom = sPrenom; } // </editor-fold> /** * * @return boolean true si élément sauver avec succès * false si une erreur est survenue */ public boolean save(){ try{ FileOutputStream fileOut = new FileOutputStream("c:\\deneigement\\"+iIdOuvrier+"-"+iAnnee+"-"+iMois+".ser"); ObjectOutputStream out = new ObjectOutputStream(fileOut); out.writeObject(this); out.close(); fileOut.close(); } catch(Exception e){ System.out.println("Erreur:"+e.getMessage()); return false; } return true; } public void setPrestation(float[] pPrestation){ } }
Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
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 package classes; import java.io.Serializable; /** * Classe contenant les informations d'une journée de prestation * Contient un tableau des heures prestées pour chaque tranche horaire * @author threis raphael */ public class cJournee implements Serializable{ private float[] fHeures; private String[] sFourchette; private float[] fCoef; /** * Construit l'objet cJournee avec les informations de tranche horaire du * fichier de configuration, avec autant de tranches horaires que requises. */ public cJournee(){ this.fHeures = new float[deneigement.Deneigement.config.getLength()]; this.sFourchette = new String[deneigement.Deneigement.config.getLength()]; for (int i = 0; i < deneigement.Deneigement.config.getLength(); i++){ this.sFourchette[i] = deneigement.Deneigement.config.getHoraire(i).getFourchette(); this.fCoef[i] = deneigement.Deneigement.config.getHoraire(i).getCoefficient(); } } /** * Construit l'objet cJournee avec autant de tranche horaire que spécifiées * en paramètres (p.ex.: 1 pour le dimanche avec un coef de 2) * @param nbHoraire Nombre de tranche horaire si différente de la valeur par * défaut * @param pFourchette Toutes les fourchettes horaires requises pour la journée en question * @param pCoef Coefficient pour toutes les fourchettes horaires */ public cJournee(int nbHoraire, String[] pFourchette, float[] pCoef){ this.fHeures = new float[nbHoraire]; this.sFourchette = pFourchette; this.fCoef = pCoef; } /** * Méthode retournant le nombre d'heures prestées pour la tranche horaire spécifiée * @param Horaire tranche horaire (p.ex. : 6h-8h) * @return float nombre d'heures prestées */ public float getHeures(int Horaire){ return fHeures[Horaire]; } /** * Méthode initialisant le nombre d'heure pour une tranche horaire * @param Horaire indice de l'heure * @param Value nombre d'heure prestées */ public void setHeures(int Horaire, float Value){ this.fHeures[Horaire] = Value; } }
Lorsque je sauve mes objets cPrestations, je souhaiterais que le vecteur de cJournee soit également sauvé, hors ce n'est pas le cas.
Pourtant, chacune des deux classes disposent des implements de Serializable, ce qui devrait les faire se sauver non?
Je souhaite en fait, disposer d'un fichier contenant toutes informations de mon objet Prestation.
En vous remerciant pour l'aide que vous pourrez m'accorder, je vous souhaite à tous, une bonne journée.
Partager