prog.utili
Class Data

java.lang.Object
  extended by prog.utili.Data
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<Data>

public class Data
extends java.lang.Object
implements java.lang.Comparable<Data>, java.io.Serializable

Le sue istanze rappresentano date del calendario.

Version:
2.0
Author:
Mauro Ferrari, Giovanni Pighizzini
See Also:
Serialized Form

Constructor Summary
Data()
          Costruisce una nuova data che rappresenta la data corrente, cioè la data relativa all'istante in cui viene invocato.
Data(int g, int m, int a)
          Costruisce una nuova data a partire dai tre argomenti che rappresentano, nell'ordine, giorno, mese e anno.
Data(java.lang.String str)
          Costruisce una nuova data a partire da una stringa nel formato "gg.mm.aaaa".
 
Method Summary
 int compareTo(Data d)
          Confronta la data che esegue il metodo con quella specificata come argomento.
 boolean equals(Data altra)
          Restituisce true se e solo la data che esegue il metodo è uguale a quella specificata come argomento.
 boolean equals(java.lang.Object altra)
          Restituisce true se e solo l'oggetto specificato come argomento è una data e la data che esegue il metodo è uguale a quella specificata dall'oggetto specificato come argomento.
 int getAnno()
          Restituisce l'intero che rappresenta l'anno della data che esegue il metodo.
static FormatoData getFormato()
          Restituisce la costante enumerativa di FormatoData che descrive il formato utilizzato per la costruzione della stringa che rappresenta la data.
 int getGiorno()
          Restituisce l'intero che rappresenta il giorno della data che esegue il metodo.
 GiornoDellaSettimana getGiornoDellaSettimana()
          Restituisce il valore del tipo enumerativo GiornoDellaSettimana che rappresenta il giorno della settimana corrispondente alla data che esegue il metodo.
 int getMese()
          Restituisce l'intero che rappresenta il mese della data che esegue il metodo.
 MeseDellAnno getMeseDellAnno()
          Restituisce il valore del tipo enumerativo MeseDellAnno che rappresenta il mese dell'anno corrispondente alla data che esegue il metodo.
static char getSeparatore()
          Restituisce il separatore utilzzato per separare giorno, mese ed anno nella stringa che rappresenta la data.
 boolean isInAnnoBisestile()
          Restituisce true se l'anno della data che esegue il metodo è bisestile, false altrimenti.
 boolean isMaggiore(Data altra)
          Confronta la data che esegue il metodo con quella fornita come argomento e restituisce true se la data che esegue il metodo segue quella fornita come argomento.
 boolean isMinore(Data altra)
          Confronta la data che esegue il metodo con quella fornita come argomento e restituisce true se la data che esegue il metodo precede quella fornita come argomento.
static Data parseData(java.lang.String str)
          Restituisce un oggetto di tipo data che rappresenta la data specificata da una stringa nel formato "gg.mm.aaaa".
 int quantoManca(Data altra)
          Restituisce il numero di giorni trascorsi dalla data rappresentata dall'oggetto che esegue il metodo a quella rappresentata dall'oggetto fornito tramite l'argomento.
static void setFormato(FormatoData f)
          Definisce il formato utilizzato per la costruzione della stringa che rappresenta la data.
static void setSeparatore(char c)
          Definisce il separatore utilizzato per separare giorno mese ed anno nella stringa che rappresenta la data.
 java.lang.String toString()
          Restituisce la stringa che rappresenta la data che esegue il metodo.
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Data

public Data()
Costruisce una nuova data che rappresenta la data corrente, cioè la data relativa all'istante in cui viene invocato.


Data

public Data(int g,
            int m,
            int a)
Costruisce una nuova data a partire dai tre argomenti che rappresentano, nell'ordine, giorno, mese e anno.

Parameters:
g - il giorno.
m - il mese.
a - l'anno.

Data

public Data(java.lang.String str)
Costruisce una nuova data a partire da una stringa nel formato "gg.mm.aaaa". Se la stringa non ha il formato corretto si verifica un errore in fase di esecuzione.

Parameters:
str - la stringa che specifica la data.
Method Detail

compareTo

public int compareTo(Data d)
Confronta la data che esegue il metodo con quella specificata come argomento.

Specified by:
compareTo in interface java.lang.Comparable<Data>
Parameters:
d - la data da confrontare con quella che esegue il metodo.
Returns:
restituisce un numero intero minore di zero se la data che esegue il metodo è minore di quella fornita come argomento, restituisce zero se le due date sono uguali e restituisce un intero maggiore zero se la data che esegue il metodo segue quella specificata come argomento.

equals

public boolean equals(Data altra)
Restituisce true se e solo la data che esegue il metodo è uguale a quella specificata come argomento.

Returns:
true se la data che esegue il metodo è uguale a quella fornita come argomento.

equals

public boolean equals(java.lang.Object altra)
Restituisce true se e solo l'oggetto specificato come argomento è una data e la data che esegue il metodo è uguale a quella specificata dall'oggetto specificato come argomento.

Overrides:
equals in class java.lang.Object
Returns:
true se la data che esegue il metodo è uguale a quella specificata dall'oggetto fornito come argomento.

getAnno

public int getAnno()
Restituisce l'intero che rappresenta l'anno della data che esegue il metodo.

Returns:
l'anno della data che esegue il metodo.

getGiorno

public int getGiorno()
Restituisce l'intero che rappresenta il giorno della data che esegue il metodo.

Returns:
il giorno della data che esegue il metodo.

getGiornoDellaSettimana

public GiornoDellaSettimana getGiornoDellaSettimana()
Restituisce il valore del tipo enumerativo GiornoDellaSettimana che rappresenta il giorno della settimana corrispondente alla data che esegue il metodo.

Returns:
il giorno dela settimana corrispondente alla data che esegue il metodo.

getMese

public int getMese()
Restituisce l'intero che rappresenta il mese della data che esegue il metodo.

Returns:
il mese della data che esegue il metodo.

getMeseDellAnno

public MeseDellAnno getMeseDellAnno()
Restituisce il valore del tipo enumerativo MeseDellAnno che rappresenta il mese dell'anno corrispondente alla data che esegue il metodo.

Returns:
il mese dell'anno corrispondente alla data che esegue il metodo.

isInAnnoBisestile

public boolean isInAnnoBisestile()
Restituisce true se l'anno della data che esegue il metodo è bisestile, false altrimenti.

Returns:
true se l'anno a cui appartiene la data che esegue il metodo è bisestile, false altrimenti.

isMaggiore

public boolean isMaggiore(Data altra)
Confronta la data che esegue il metodo con quella fornita come argomento e restituisce true se la data che esegue il metodo segue quella fornita come argomento.

Parameters:
altra - la data da confrontare con quella che esegue il metodo.
Returns:
true se la data che esegue il metodo segue quella fornita come argomento.

isMinore

public boolean isMinore(Data altra)
Confronta la data che esegue il metodo con quella fornita come argomento e restituisce true se la data che esegue il metodo precede quella fornita come argomento.

Parameters:
altra - la data da confrontare con quella che esegue il metodo.
Returns:
true se la data che esegue il metodo precede quella fornita come argomento.

quantoManca

public int quantoManca(Data altra)
Restituisce il numero di giorni trascorsi dalla data rappresentata dall'oggetto che esegue il metodo a quella rappresentata dall'oggetto fornito tramite l'argomento. In particolare, se la data rappresentata dall'oggetto che esegue il metodo precede quella fornita tramite l'argomento, il risultato sarà un numero positivo (ad esempio, se le due date sono rispettivamente 31 dicembre 2002 e 1 gennaio 2003, il risultato sarà 1), se invece la segue il risultato sarà un numero negativo (se le due date sono rispettivamente 1 gennaio 2003 e 31 dicembre 2002, il risultato sarà -1).

Parameters:
altra - la data rispetto alla quale calcolare i giorni trascorsi.
Returns:
un intero che rappresenta il numero di giorni trascorsi fra le due date.

toString

public java.lang.String toString()
Restituisce la stringa che rappresenta la data che esegue il metodo. Il formato è stabilito tramite il metodo setFormato(prog.utili.FormatoData).

Overrides:
toString in class java.lang.Object
Returns:
la stringa che rappresenta la data.

getFormato

public static FormatoData getFormato()
Restituisce la costante enumerativa di FormatoData che descrive il formato utilizzato per la costruzione della stringa che rappresenta la data.

Returns:
il formato.

getSeparatore

public static char getSeparatore()
Restituisce il separatore utilzzato per separare giorno, mese ed anno nella stringa che rappresenta la data.

Returns:
il separatore.

parseData

public static Data parseData(java.lang.String str)
                      throws SintassiDataScorretta
Restituisce un oggetto di tipo data che rappresenta la data specificata da una stringa nel formato "gg.mm.aaaa".

Parameters:
str - la stringa a partire dalla quale costruire la data.
Returns:
la data costruita.
Throws:
SintassiDataScorretta - se il formato della stringa non è quello richiesto.

setFormato

public static void setFormato(FormatoData f)
Definisce il formato utilizzato per la costruzione della stringa che rappresenta la data. I valori possibili dell'argomento sono le costanti del tipo enumerativo FormatoData.

Parameters:
f - il formato.

setSeparatore

public static void setSeparatore(char c)
Definisce il separatore utilizzato per separare giorno mese ed anno nella stringa che rappresenta la data. Di default il separatore è il punto ('.').

Parameters:
c - il nuovo separatore.