ssbm.domain.entities
Class Bilancio

java.lang.Object
  extended by ssbm.domain.entities.Bilancio

public class Bilancio
extends java.lang.Object

Questa classe rappresenta il bilancio delle movimentazioni finanziarie relative ad un determinato periodo di tempo.
I dati che connotano un bilancio sono:

Author:
Salvatore Piccione

Nested Class Summary
 class Bilancio.ParametriCalcolo
          Questa classe rappresenta i dati necessari al calcolo di un bilancio.
 
Field Summary
private  java.util.GregorianCalendar dataFine
          La data di fine del periodo di riferimento.
private  java.util.GregorianCalendar dataInizio
          La data d'inizio del periodo di riferimento.
private static java.text.DateFormat DATE_FORMATTER
          Istanza di DateFormat relativa al formato "dd/MM/yyyy".
private  MovimentazioneFinanziaria[] elencoMovimentazioni
          L’elenco delle movimentazioni verificatesi nel periodo di riferimento.
private  java.math.BigDecimal saldo
          Il saldo del bilancio
private  Utente utente
          L'utente a cui si riferisce il bilancio.
 
Constructor Summary
Bilancio()
          Costruisce un'istanza vuota.
Bilancio(MovimentazioneFinanziaria[] movimentazioni)
          Costruisce un'istanza popolando l'elenco di movimentazioni con l'array di movimentazioni passato come parametro.
 
Method Summary
private  void calculateSaldo()
          Calcola il saldo del bilancio.
 java.util.GregorianCalendar getDataFine()
          Restituisce la data di conclusione del periodo di riferimento del bilancio.
 java.util.GregorianCalendar getDataInizio()
          Restituisce la data di inizio del periodo di riferimento del bilancio.
 MovimentazioneFinanziaria[] getElencoMovimentazioni()
          Restituisce l'elenco di movimentazioni del bilancio.
 java.math.BigDecimal getSaldo()
          Restituisce il saldo delle movimentazioni finanziarie relative al bilancio.
 Utente getUtente()
          Restituisce l'utente a cui fa riferimento il bilancio.
private  void setDataInizioEdataFine()
          Imposta la data d'inizio e di fine del periodo di riferimento del bilancio.
 void setElencoMovimentazioni(MovimentazioneFinanziaria[] movimentazioni)
          Imposta l'elenco di movimentazioni del bilancio.
private  void setUtente()
          Imposta l'utente di riferimento del bilancio.
private  boolean unicoUtente(MovimentazioneFinanziaria[] movs)
          Controlla che l'elenco di movimentazioni si riferisca ad un unico utente.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

elencoMovimentazioni

private MovimentazioneFinanziaria[] elencoMovimentazioni
L’elenco delle movimentazioni verificatesi nel periodo di riferimento.


saldo

private java.math.BigDecimal saldo
Il saldo del bilancio


dataInizio

private java.util.GregorianCalendar dataInizio
La data d'inizio del periodo di riferimento.


dataFine

private java.util.GregorianCalendar dataFine
La data di fine del periodo di riferimento.


utente

private Utente utente
L'utente a cui si riferisce il bilancio.


DATE_FORMATTER

private static final java.text.DateFormat DATE_FORMATTER
Istanza di DateFormat relativa al formato "dd/MM/yyyy".

Constructor Detail

Bilancio

public Bilancio()
Costruisce un'istanza vuota.


Bilancio

public Bilancio(MovimentazioneFinanziaria[] movimentazioni)
         throws java.lang.IllegalArgumentException
Costruisce un'istanza popolando l'elenco di movimentazioni con l'array di movimentazioni passato come parametro.

Parameters:
movimentazioni - l'elenco di movimentazioni.
Throws:
java.lang.IllegalArgumentException - se movimentazioni č uguale a null o se le movimentazioni non si riferiscono ad uno stesso utente.
Method Detail

getElencoMovimentazioni

public MovimentazioneFinanziaria[] getElencoMovimentazioni()
Restituisce l'elenco di movimentazioni del bilancio.

Returns:
l'elenco di movimentazioni del bilancio.

setElencoMovimentazioni

public void setElencoMovimentazioni(MovimentazioneFinanziaria[] movimentazioni)
                             throws java.lang.IllegalArgumentException
Imposta l'elenco di movimentazioni del bilancio.

Parameters:
movimentazioni - l'elenco di movimentazioni del bilancio.
Throws:
java.lang.IllegalArgumentException - se movimentazioni č uguale a null o se le movimentazioni non si riferiscono ad uno stesso utente.

unicoUtente

private boolean unicoUtente(MovimentazioneFinanziaria[] movs)
Controlla che l'elenco di movimentazioni si riferisca ad un unico utente.

Parameters:
movs - l'elenco di movimentazioni.
Returns:
true se l'elenco di movimentazioni si riferisce ad un unico utente, false altrimenti.

getUtente

public Utente getUtente()
Restituisce l'utente a cui fa riferimento il bilancio.

Returns:
l'utente a cui si riferisce il bilancio.

setUtente

private void setUtente()
Imposta l'utente di riferimento del bilancio.


getDataFine

public java.util.GregorianCalendar getDataFine()
Restituisce la data di conclusione del periodo di riferimento del bilancio.

Returns:
la data di conclusione del periodo di riferimento oppure null se l'elenco di movimentazioni č vuoto.

setDataInizioEdataFine

private void setDataInizioEdataFine()
Imposta la data d'inizio e di fine del periodo di riferimento del bilancio.


getDataInizio

public java.util.GregorianCalendar getDataInizio()
Restituisce la data di inizio del periodo di riferimento del bilancio.

Returns:
la data di inizio del periodo di riferimento del bilancio oppure null se l'elenco di movimentazioni č vuoto.

getSaldo

public java.math.BigDecimal getSaldo()
Restituisce il saldo delle movimentazioni finanziarie relative al bilancio.
L'arrotondamento č di tipo RoundingMode.HALF_EVEN.

Returns:
il saldo delle movimentazioni finanziarie.

calculateSaldo

private void calculateSaldo()
Calcola il saldo del bilancio.