opBancaires
Class OrdreVirement

java.lang.Object
  extended by opBancaires.OrdreVirement

public class OrdreVirement
extends java.lang.Object

Type OrdreVirement


Field Summary
private  CompteAbstract destination
          Référence sur le compte origine/destination.
private  Client donneurOrdre
          Référence sur le donneur d'ordre.
private  double montant
          Montant de la transaction.
private  CompteAbstract origine
          Référence sur le compte origine/destination.
 
Constructor Summary
OrdreVirement(Client donneurOrdre, CompteAbstract origine, CompteAbstract destination, double montant)
           
 
Method Summary
 CompteAbstract getDestination()
           
 Client getDonneurOrdre()
           
 double getMontant()
           
 CompteAbstract getOrigine()
           
 boolean passer()
           
 void setDestination(CompteAbstract destination)
           
 void setMontant(double montant)
           
 void setOrigine(CompteAbstract origine)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

donneurOrdre

private Client donneurOrdre
Référence sur le donneur d'ordre.


origine

private CompteAbstract origine
Référence sur le compte origine/destination.


destination

private CompteAbstract destination
Référence sur le compte origine/destination.


montant

private double montant
Montant de la transaction.

Constructor Detail

OrdreVirement

public OrdreVirement(Client donneurOrdre,
                     CompteAbstract origine,
                     CompteAbstract destination,
                     double montant)
              throws CompteNonAutoriseException
Parameters:
donneurOrdre -
origine -
destination -
montant - Constructor.
Throws:
CompteNonAutoriseException
Method Detail

passer

public boolean passer()
Returns:
un booléen, indiquant si l'ordre a bien été passé ( true). Passe un ordre de virement. En premier lieu, le compte origine est testé pour déterminer si le débit du montant à virer est possible (sans créer d'opération). Si le débit est impossible, alors le virement lui-même est impossible (on suppose qu'on ne peut effectuer de virement que si on dispose effectivement de la somme à virer). Si le débit est possible, alors une tentative de crédit est effectuée, avec création d'opération ; si la tentative échoue, alors deux opérations en ATTENTE sont créées, qui sont envoyées à l'attaché client pour validation manuelle ; si la tentative réussit, alors l'opération est effective, et on effectue le débit correspondant. Noter qu'à ce stade le débit est forcément possible...

toString

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

getOrigine

public CompteAbstract getOrigine()
Returns:
the origine

setOrigine

public void setOrigine(CompteAbstract origine)
Parameters:
origine - the origine to set

getDestination

public CompteAbstract getDestination()
Returns:
the destination

setDestination

public void setDestination(CompteAbstract destination)
Parameters:
destination - the destination to set

getMontant

public double getMontant()
Returns:
the montant

setMontant

public void setMontant(double montant)
Parameters:
montant - the montant to set

getDonneurOrdre

public Client getDonneurOrdre()
Returns:
the donneurOrdre