Page 4/5
private double retraitMaxPossible()
renvoie le montant maximal qu’il est possible de débiter à un
instant donné sur ce compte. Ce montant est le minimum entre le débit maximal autorisé et la somme du
solde du compte et du débit maximum autorisé.
public void crediter(double s) throws SQLException, CompteOpException
dépose la
somme s sur le compte (s doit être > 0). Le solde du compte est modifié dans la table COMPTES
1
. Une
SQLException est levée si un problème d’accès au SGBD a lieu. Une CompteOpException est levée
si le dépôt ne peut être réalisé (s <0).
public void debiter(double r) throws SQLException, CompteOpException
débite le
compte d’un montant r donné (le montant spécifié pour le retrait doit être inférieur au retrait maximal
possible ou supérieur à 0). Le solde du compte est modifié dans la table COMPTES. Une SQLException
est levée si un problème d’accès au SGBD a lieu. Une CompteOpException est levée si le retrait ne
peut être réalisé (r <0 ou r > au retrait maximal possible sur ce compte).
public void virer(double r, Compte c) throws SQLException, CompteOpException
effectue un virement d’un montant r de ce compte vers le compte c. Une transaction est effectuée pour
modifier les soldes des comptes dans la table COMPTES. Une SQLException est levée si un problème
d’accès au SGBD a lieu, la transaction est alors annulée. Une CompteOpException est levée si le
virement ne peut être réalisé, (r <0 ou bien r > au retrait maximal possible sur ce compte).
2) La classe Client
Attributs :
private int id; l’identifiant du client
private String nom; le nom du client
private String prenom; le prénom du client
private String adresse; l’adresse du client
private String passwd; mot de passe du client
private List<Comptes> comptes; la structure de données pour stocker l’ensemble des comptes du client
Constructeur :
public Client(DataSource ds, int id, String passwd) throws SQLException,
ClientNotFoundException, ClientBadPasswdException, CompteException
Création d’une nouvelle instance de Client. Recherche dans la table CLIENTS l’enregistrement dont le
champ CODE_CLIENT correspond au paramètre id. Si il n’y a pas de tel enregistrement une exception de
type ClientNotFoundException est levée. Sinon, le mot de passe associé à ce client est comparé
avec le paramètre passwd. Si ils ne correspondent pas, une exception de type
ClientBadPasswdException est levée. Si le client existe et s’est correctement authentifié, les
informations le décrivant sont recopiées depuis la base de données vers les attributs correspondants et la liste
des ses comptes est construite. Le paramètre ds est la référence d’un objet DataSource permettant
l’accès à la base de données.
Méthodes publiques :
public int getId()retourne le numéro d’identification du client.
public String getNom() retourne le nom du client.
public String getPrenom() retourne le prénom du client.
public String getAdresse() retourne l’adresse du client.
public String getPasswd() retourne le mot de passe du client.
1
Ajout de 1000 € au solde du compte de numéro 1001
UPDATE COMPTES SET SOLDE = SOLDE+1000 WHERE NUMERO=1001