Class Importo
java.lang.Object
it.unimi.di.prog2.temisvolti.cambiavalute.Importo
- All Implemented Interfaces:
Comparable<Importo>
Classe immutabile che rappresenta un importo in una data valuta.
È possibile ottenere la somma
, differenza
e comparazione
(in base al valore) di due importi se e solo se sono
espressi nella stessa valuta.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
differenza
(Importo altro) Metodo di produzione che restituisce l'importo risultante dalla differenza tra questo importo ed un altro importo dato.boolean
equivalente
(Cambi.Tasso tasso) Metodo che consente di convertire questo importo in uno equivalente dato un tasso di cambio tra la sua valuta ed un'altra.int
hashCode()
boolean
Metodo che consente di stabilire se questo importo ha valore strettamente positivo.boolean
isZero()
Metodo che consente di stabilire se questo importo ha valore zero.Metodo di produzione che restituisce l'importo risultante dalla somma tra questo importo ed un altro importo dato.toString()
static Importo
Metodo di fabbricazione che restituisce un importo data la sua rappresentazione come stringa.static Importo
Metodo di fabbricazione che restituisce l'importo nullo nella valuta assegnata.
-
Field Details
-
centesimi
private final int centesimiIl valore dell'importo espresso in centesimi. -
valuta
La valuta dell'importo, non può esserenull
-
ZERO
-
-
Constructor Details
-
Importo
Costruttore ad uso interno (non controlla che valuta sia diverso danull
).- Parameters:
centesimi
- i centesimi.valuta
- la valuta.
-
-
Method Details
-
valueOf
Metodo di fabbricazione che restituisce un importo data la sua rappresentazione come stringa.Il formato di un importo è dato dal simbolo della valuta seguito senza spazi dal valore dell'importo (eventualmente preceduto dal segno -), con la parte decimale separata dalla parte dei centesimi da un punto; entrambe le parti sono opzionali e la parte dei centesimi, se presente, deve essere lunga esattamente due caratteri.
- Parameters:
importo
- la string che descrive l'importo.- Returns:
- l'importo.
- Throws:
NullPointerException
- se la stringa ènull
.IllegalArgumentException
- se la stringa non è nel formato corretto.
-
zero
Metodo di fabbricazione che restituisce l'importo nullo nella valuta assegnata.- Parameters:
valuta
- la valuta.- Returns:
- l'importo.
- Throws:
NullPointerException
- se la valuta ènull
.
-
somma
Metodo di produzione che restituisce l'importo risultante dalla somma tra questo importo ed un altro importo dato.- Parameters:
altro
- l'altro importo.- Returns:
- la somma tra questo e l'altro importo.
- Throws:
NullPointerException
- se l'altro importo ènull
.IllegalArgumentException
- se l'altro importo non è espresso nella stessa valuta.
-
differenza
Metodo di produzione che restituisce l'importo risultante dalla differenza tra questo importo ed un altro importo dato.- Parameters:
altro
- l'altro importo.- Returns:
- la differenza tra questo e l'altro importo.
- Throws:
NullPointerException
- se l'altro importo ènull
.IllegalArgumentException
- se l'altro importo non è espresso nella stessa valuta.
-
equivalente
Metodo che consente di convertire questo importo in uno equivalente dato un tasso di cambio tra la sua valuta ed un'altra.- Parameters:
tasso
- il tasso di cambio.- Returns:
- l'importo convertito.
- Throws:
NullPointerException
- se il tasso ènull
.IllegalArgumentException
- se il tasso non va dalla valuta di questo importo.
-
isZero
public boolean isZero()Metodo che consente di stabilire se questo importo ha valore zero.- Returns:
- se questo importo vale zero.
-
isPositive
public boolean isPositive()Metodo che consente di stabilire se questo importo ha valore strettamente positivo.- Returns:
- se questo importo ha valore strettamente positivo.
-
toString
-
equals
-
hashCode
-
compareTo
- Specified by:
compareTo
in interfaceComparable<Importo>
-