opBancaires
Class CompteAbstract

java.lang.Object
  extended by opBancaires.CompteAbstract
Direct Known Subclasses:
CompteCourant, CompteRemunereAbstract

public abstract class CompteAbstract
extends java.lang.Object

Author:
Creation 17 Oct 2012

Field Summary
private  java.util.ArrayList<Operation> historiqueOperations
          Field historiqueOperations
Historique des opérations effectuées sur ce compte.
private static int lastId
           
private  int lastIdOperation
          Field lastIdOperation
Valeur de l'identifiant de la dernière opération effectuée sur ce compte.
private  java.lang.String libelle
          Libellé du compte.
private  int numId
          Numéro identifiant du compte.
private  double solde
          Solde courant du compte.
private  Client titulaire
          Field titulaire
Référence du client titulaire.
 
Constructor Summary
protected CompteAbstract(Client titulaire)
          Constructeur.
 
Method Summary
abstract  double crediter(double montant)
          Mise du montant spécifié au crédit du compte.
abstract  double crediter(double montant, Operation op)
          Mise du montant spécifié au crédit du compte.
 double debiter(double montant)
          Mise du montant spécifié au débit du compte.
 double debiter(double montant, Operation op)
          Mise du montant spécifié au débit du compte.
 boolean estDebitableDe(double montant)
          Teste si le compte peut être débité du montant précisé en paramètre.
 java.util.ArrayList<Operation> getHistoriqueOperations()
           
static int getLastId()
           
 int getLastIdOperation()
           
 java.lang.String getLibelle()
           
 int getNewIdOperation()
          Retourne un nouvel identifiant d'opération pour ce compte, et maintien à jour la valeur du dernier identifiant utilisé.
 int getNumId()
           
 double getSolde()
           
 Client getTitulaire()
           
 void setLibelle(java.lang.String libelle)
           
 void setNumId(int numId)
           
protected  void setSolde(double solde)
           
 java.lang.String toString()
           
 java.lang.String toStringOperations()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

lastId

private static int lastId

numId

private int numId
Numéro identifiant du compte.


libelle

private java.lang.String libelle
Libellé du compte.


solde

private double solde
Solde courant du compte. Sa modification ne doit se faire que par l'intermédiaire des méthodes de gestion prévues à cet effet.


titulaire

private Client titulaire
Field titulaire
Référence du client titulaire.


lastIdOperation

private int lastIdOperation
Field lastIdOperation
Valeur de l'identifiant de la dernière opération effectuée sur ce compte.


historiqueOperations

private java.util.ArrayList<Operation> historiqueOperations
Field historiqueOperations
Historique des opérations effectuées sur ce compte.

Constructor Detail

CompteAbstract

protected CompteAbstract(Client titulaire)
Constructeur.

Parameters:
titulaire -
Method Detail

crediter

public abstract double crediter(double montant)
                         throws OperationBancaireException
Mise du montant spécifié au crédit du compte. Si le crédit est possible alors le solde est modifié directement, et une opération de succès est créée. Si le crédit n'est pas possible, alors le solde reste inchangé, et une opération d'échec est créée.

Parameters:
montant - Le montant à créditer.
Returns:
la valeur du novueau solde.
Throws:
MontantException
OperationBancaireException

crediter

public abstract double crediter(double montant,
                                Operation op)
                         throws OperationBancaireException
Mise du montant spécifié au crédit du compte. Si le crédit est possible alors le solde est modifié directement, et l'opération placée en paramètre est modifiée en conséquence, avec un statut de succès. Si le crédit n'est pas possible, alors le solde reste inchangé, et l'opération placée en paramètre est modifiée en conséquence, avec un statut d'échec.

Parameters:
montant -
op -
Returns:
le nouveau solde, après crédit.
Throws:
OperationBancaireException

debiter

public double debiter(double montant)
               throws OperationBancaireException
Mise du montant spécifié au débit du compte. Si le débit est possible alors le solde est modifié directement, et une opération de succès est créée. Si le débit n'est pas possible, alors le solde reste inchangé, et une opération d'échec est créée.

Parameters:
montant - Le montant à débiter.
Returns:
le nouveau solde, après débit.
Throws:
OperationBancaireException

debiter

public double debiter(double montant,
                      Operation op)
               throws OperationBancaireException
Mise du montant spécifié au débit du compte. Si le débit est possible alors le solde est modifié directement, et l'opération placée en paramètre est modifiée en conséquence, avec un statut de succès. Si le débit n'est pas possible, alors le solde reste inchangé, et l'opération placée en paramètre est modifiée en conséquence, avec un statut d'échec.

Parameters:
montant -
op -
Returns:
le nouveau solde, après débit.
Throws:
OperationBancaireException

estDebitableDe

public boolean estDebitableDe(double montant)
Teste si le compte peut être débité du montant précisé en paramètre.

Parameters:
montant -
Returns:
true si le compte peut être débité du montant précisé en paramètre.

getNewIdOperation

public int getNewIdOperation()
Retourne un nouvel identifiant d'opération pour ce compte, et maintien à jour la valeur du dernier identifiant utilisé.

Returns:
un nouvel identifiant d'opération pour ce compte.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toStringOperations

public java.lang.String toStringOperations()
Returns:
a String of historical operations.

getSolde

public double getSolde()
Returns:
la valeur du solde courant.

setSolde

protected void setSolde(double solde)
Parameters:
solde -

getNumId

public int getNumId()
Returns:
the numId

setNumId

public void setNumId(int numId)
Parameters:
numId - the numId to set

getLibelle

public java.lang.String getLibelle()
Returns:
the libelle

setLibelle

public void setLibelle(java.lang.String libelle)
Parameters:
libelle - the libelle to set

getLastId

public static int getLastId()
Returns:
int - Returns the lastId.

getTitulaire

public Client getTitulaire()
Returns:
Client - Returns the titulaire.

getLastIdOperation

public int getLastIdOperation()
Returns:
int - Returns the lastIdOperation.

getHistoriqueOperations

public java.util.ArrayList<Operation> getHistoriqueOperations()
Returns:
ArrayList - Returns the historiqueOperations.