/** * Incrementa atribut durada de l'activitat i recursivament cap amunt incrementa la del seu pare. * Tamb� actualitza les dates finals. * * @param dataFinal La data final a la que es vol actualitzar */ public final void incrementaDurada(Date dataFinal) { // Precondicio if (ComprovadorAssercions.getInstance().isPrecondicions()) { assert dataFinal != null : "dataInicial es null"; } if (ComprovadorAssercions.getInstance().isInvariants()) { this.comprovarInvariants(); } durada += Client.segons_PERIODE_RELLOTGE; this.getPeriode().setDataFinal(dataFinal); if (this.existsProjectePare()) { this.projectePare.incrementaDurada(dataFinal); } // Trucada recursiva per actualizar la Durada del // pare i la data final fins que tota la rama s'hagi actualizat }
/** * M�tode recursiu que crea la data inicial si no existeix en l'objecte, i tamb�, si existeix el * pare, crida aquest mateix m�tode en ell. * * @param dataInicial La data incial que es vol posar en el objecte */ public final void updateDataInicial(Date dataInicial) { // Precondicio if (ComprovadorAssercions.getInstance().isPrecondicions()) { assert dataInicial != null : "dataInicial es null"; } if (ComprovadorAssercions.getInstance().isInvariants()) { this.comprovarInvariants(); } if (this.getPeriode().getDataInicial() == null) { // Quan s' arranqui el primer interval de tots els que // hi ha en una tasca introduira la data d'inici // unicament una vagada a questa tasca this.getPeriode().setDataInicial(dataInicial); if (existsProjectePare()) { this.getProjectePare().updateDataInicial(dataInicial); } } }
/** * Sobreescritua del m�tode toString per printar les dades de les activitats. * * @return retorna la informacion necesaria per printeja el objete */ @Override public final String toString() { if (ComprovadorAssercions.getInstance().isInvariants()) { this.comprovarInvariants(); } return this.getIdentificador().getNom() + "\t" + this.getIdentificador().getId() + "\t" + this.getPeriode().getDataInicialString() + "\t" + this.getPeriode().getDataFinalString() + "\t" + this.getDurada(); }
/** * Donada una activitat guarda en un fitxer aquest objecte i tamb� tots els seus fills amb els * valors actuals. * * @param activitat activitat arrel */ public void guardarActivitatFitxer(Activitat activitat) { // Precondici� if (ComprovadorAssercions.getInstance().isPrecondicions()) { assert activitat != null : "Activitat nula"; } try { FileOutputStream file = new FileOutputStream("test.ser"); ObjectOutputStream out = new ObjectOutputStream(file); out.writeObject(activitat); out.close(); file.close(); } catch (IOException e) { e.printStackTrace(); } Log.i("datasaver", "S'ha guardat correctament el fixter test.ser"); }
/** * Donat un nom d'arxiu retorna l'objecte activitat i els seus fills guardats en el fitxer. * * @param nom nom del fitxer */ public Activitat llegirActivitatFitxer(String nom) { // Precondici� if (ComprovadorAssercions.getInstance().isPrecondicions()) { assert nom != "" : "Nom de fitxer erroni"; } Activitat activitat = null; try { FileInputStream file = new FileInputStream(nom); ObjectInputStream in = new ObjectInputStream(file); activitat = (Activitat) in.readObject(); in.close(); file.close(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException classException) { classException.printStackTrace(); } Log.i("datasaver", "S'ha llegit del fitxer test.ser correctament."); return activitat; }
/** * Setter of the property <tt>durada</tt>. * * @param durada The durada to set. * @uml.property name="durada" * @param durada */ public final void setDurada(long durada) { if (ComprovadorAssercions.getInstance().isInvariants()) { this.comprovarInvariants(); } this.durada = durada; }
/** * Setter of the property <tt>identificador</tt>. * * @param identificador The identificador to set. * @uml.property name="identificador" */ public final void setIdentificador(Identificador identificador) { this.identificador = identificador; if (ComprovadorAssercions.getInstance().isInvariants()) { this.comprovarInvariants(); } }
/** * Setter of the property <tt>periode</tt>. * * @param periode The periode to set. * @uml.property name="periode" */ public final void setPeriode(Periode periode) { if (ComprovadorAssercions.getInstance().isInvariants()) { this.comprovarInvariants(); } this.periode = periode; }
/** * Getter of the property <tt>periode</tt>. * * @return Returns the periode. * @uml.property name="periode" */ public final Periode getPeriode() { if (ComprovadorAssercions.getInstance().isInvariants()) { this.comprovarInvariants(); } return periode; }