## prog.utili
Class Orario

    java.lang.Object
      prog.utili.Orario

All Implemented Interfaces:
  java.io.Serializable, java.lang.Comparable<Orario>

    public class Orario

extends java.lang.Object
implements java.io.Serializable, java.lang.Comparable<Orario>

Le sue istanze rappresentano orari con la granularità dei minuti.

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

Constructor Summary
`Orario()` Costruisce un nuovo orario che rappresenta l'orario attuale, cioè l'orario relativo all'istante in cui viene invocato.
`Orario(int hh, int mm)` Costruisce un nuovo orario a partire dai due argomenti specificati che rappresentano, nell'ordine, ore e minuti.
`Orario(java.lang.String s)` Costruisce un nuovo orario a partire dalla stringa specificata come argomento nel formato `"hh:mm"`.

Method Summary
`int` `compareTo(Orario o)` Confronta l'orario che esegue il metodo con quello specificato come argomento, e restituisce un intero negativo, zero, o un intero positivo, a seconda che l'orario che esegue il metodo preceda, coincida o segua quello specificato come argomento.
`boolean` `equals(java.lang.Object altro)` Restituisce `true` se e solo l'orario che esegue il metodo è uguale a quello specificato dall'oggetto fornito come argomento.
`boolean` `equals(Orario altro)` Restituisce `true` se e solo l'orario che esegue il metodo è uguale a quello specificato come argomento.
`int` `getMinuti()` Restituisce l'intero che rappresenta i minuti dell'orario che esegue il metodo.
`int` `getOre()` Restituisce l'intero che rappresenta l'ora dell'orario che esegue il metodo.
`static char` `getSeparatore()` Restituisce il separatore utilzzato per separare le ore dai minuti nella stringa che rappresenta l'orario.
`static boolean` `isFormato24Attivo()` Restituisce `true` se l'orario viene rappresentato sulle 24 ore (notazione europea), `false` se l'orario viene rappresentato sulle 12 ore (notazione americana).
`boolean` `isMaggiore(Orario altro)` Confronta l'orario che esegue il metodo con quello fornito come argomento e restituisce `true` se l'orario che esegue il metodo segue quello fornito come argomento.
`boolean` `isMinore(Orario altro)` Confronta l'orario che esegue il metodo con quello fornito come argomento e restituisce `true` se l'orario che esegue il metodo precede quello fornito come argomento.
`static Orario` `parseOrario(java.lang.String str)` Restituisce l'oggetto di tipo `Orario` che rappresenta l'orario specificato da una stringa nel formato `"hh:mm"`.
`int` `quantoManca(Orario altro)` Restituisce il numero di minuti trascorsi dall'orario rappresentato dall'oggetto che esegue il metodo a quello rappresentato dall'oggetto fornito tramite il parametro, considerati come orari riferiti alla stessa giornata.
`static void` `setFormato24(boolean b)` Permette di modificare la rappresentazione degli orari; se il valore specificato come argomento è `true` gli orari verranno rappresentati con la notazione europea (notazione utilizzata di default), se è `false` con quella americana.
`static void` `setSeparatoreTo(char ch)` Definisce il separatore utilizzato per separare le ore dai minuti nella stringa che rappresenta l'orario.
`java.lang.String` `toString()` Restituisce la stringa che rappresenta l'orario che esegue il metodo.

Methods inherited from class java.lang.Object
`getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Orario

    public Orario(int hh,
                  int mm)

  Costruisce un nuovo orario a partire dai due argomenti specificati che rappresentano, nell'ordine, ore e minuti.

  Parameters:
    `hh` - l'ora.
    `mm` - i minuti.

### Orario

    public Orario()

  Costruisce un nuovo orario che rappresenta l'orario attuale, cioè l'orario relativo all'istante in cui viene invocato.

### Orario

    public Orario(java.lang.String s)

  Costruisce un nuovo orario a partire dalla stringa specificata come argomento nel formato `"hh:mm"`. Se la stringa non ha il formato corretto si verifica un errore in fase di esecuzione.

  Parameters:
    `s` - la stringa che specifica l'orario.

Method Detail

### compareTo

    public int compareTo(Orario o)

  Confronta l'orario che esegue il metodo con quello specificato come argomento, e restituisce un intero negativo, zero, o un intero positivo, a seconda che l'orario che esegue il metodo preceda, coincida o segua quello specificato come argomento.

  Specified by:
    `compareTo` in interface `java.lang.Comparable<Orario>`
  Parameters:
    `o` - l'orario da confrontare con quello che esegue il metodo.
  Returns:
    restituisce un numero intero minore di zero se l'orario che esegue il metodo precede quello fornito come argomento, restituisce zero se i due orari sono uguali e restituisce un intero maggiore zero se l'orario che esegue il metodo segue quello specificato come argomento.

### equals

    public boolean equals(Orario altro)

  Restituisce `true` se e solo l'orario che esegue il metodo è uguale a quello specificato come argomento.

  Returns:
    `true` se l'orario che esegue il metodo è uguale a quello fornito come argomento.

### equals

    public boolean equals(java.lang.Object altro)

  Restituisce `true` se e solo l'orario che esegue il metodo è uguale a quello specificato dall'oggetto fornito come argomento.

  Overrides:
    `equals` in class `java.lang.Object`
  Returns:
    `true` se l'orario che esegue il metodo è uguale all'oggetto fornito come argomento.

### getMinuti

    public int getMinuti()

  Restituisce l'intero che rappresenta i minuti dell'orario che esegue il metodo.

  Returns:
    i minuti dell'orario che esegue il metodo.

### getOre

    public int getOre()

  Restituisce l'intero che rappresenta l'ora dell'orario che esegue il metodo.

  Returns:
    l'ora dell'orario che esegue il metodo.

### isMaggiore

    public boolean isMaggiore(Orario altro)

  Confronta l'orario che esegue il metodo con quello fornito come argomento e restituisce `true` se l'orario che esegue il metodo segue quello fornito come argomento.

  Returns:
    `true` se e solo se l'orario che esegue il metodo segue quello fornito come argomento.

### isMinore

    public boolean isMinore(Orario altro)

  Confronta l'orario che esegue il metodo con quello fornito come argomento e restituisce `true` se l'orario che esegue il metodo precede quello fornito come argomento.

  Returns:
    `true` se e solo se l'orario che esegue il metodo precede quello fornito come argomento.

### quantoManca

    public int quantoManca(Orario altro)

  Restituisce il numero di minuti trascorsi dall'orario rappresentato dall'oggetto che esegue il metodo a quello rappresentato dall'oggetto fornito tramite il parametro, considerati come orari riferiti alla stessa giornata. In particolare, se l'orario rappresentato dall'oggetto che esegue il metodo precede quello fornito come argomento, il risultato sarà un numero positivo (ad esempio, se i due orari sono rispettivamente 1:00 e 23:58, il risultato sarà 1378), se invece lo segue il risultato sarà un numero negativo (se i due orari sono rispettivamente 23:58 e 1:00, il risultato sarà -1378).

  Parameters:
    `altro` - l'orario rispetto al quale calcolare i minuti trascorsi.
  Returns:
    un intero che rappresenta il numero di minuti trascorsi fra i due orari.

### toString

    public java.lang.String toString()

  Restituisce la stringa che rappresenta l'orario che esegue il metodo.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    la stringa che rappresenta l'orario che esegue il metodo.

### parseOrario

    public static Orario parseOrario(java.lang.String str)
                              throws SintassiOrarioScorretta

  Restituisce l'oggetto di tipo `Orario` che rappresenta l'orario specificato da una stringa nel formato `"hh:mm"`.

  Returns:
    la data costruita.
  Throws:
    ``SintassiDataScorretta`` - se il formato della stringa non è quello specificato.
    `SintassiOrarioScorretta`

### setSeparatoreTo

    public static void setSeparatoreTo(char ch)

  Definisce il separatore utilizzato per separare le ore dai minuti nella stringa che rappresenta l'orario. Di default il separatore è `':'`.

  Parameters:
    `ch` - il nuovo separatore.

### isFormato24Attivo

    public static boolean isFormato24Attivo()

  Restituisce `true` se l'orario viene rappresentato sulle 24 ore (notazione europea), `false` se l'orario viene rappresentato sulle 12 ore (notazione americana).

  Returns:
    `true` se è attiva la rappresentazione sulle 24 ore `false` altrimenti.

### setFormato24

    public static void setFormato24(boolean b)

  Permette di modificare la rappresentazione degli orari; se il valore specificato come argomento è `true` gli orari verranno rappresentati con la notazione europea (notazione utilizzata di default), se è `false` con quella americana.

  Parameters:
    `b` - `true` per attivare la rappresentazione europea, `false` per attivare quella americana.

### getSeparatore

    public static char getSeparatore()

  Restituisce il separatore utilzzato per separare le ore dai minuti nella stringa che rappresenta l'orario.

  Returns:
    il separatore.