diff --git a/.gitignore b/.gitignore index b382168034a787c18d8226b84ff9d31b01f7f1a4..6ef7dfbad9c30be1d4beed31d834f9c887e93570 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,8 @@ hs_err_pid* # Maven files target/ jenvrc + +# Gradle build, test logs +.gradle/ + +.attach_pid* \ No newline at end of file diff --git a/RENDU.md b/RENDU.md new file mode 100644 index 0000000000000000000000000000000000000000..bec383633968676e097ac123e629e1334533e7ff --- /dev/null +++ b/RENDU.md @@ -0,0 +1,56 @@ +# Rendu de projet +Ce projet à été réalisé par **Robin Gries**, **Vincent Seveno** et **Eléonore Burgaud** du groupe 685. +Les différents travaux réalisés pour ce projet ont été expliqués dans la section *Tickets* du Gitlab. +Ce rendu va principalement présenter les choix faits par l'équipe pour résoudre les problèmes rencontrés. +## Choix Techniques +### Classes génériques +Nous avons choisis de représenter les différentes associations bidirectionnelles entre classes avec des classes génériques, car certaines ont été utilisés +dans plusieurs cas rencontrés, ce qui nous aura permis d'éviter de dupliquer leur code. +De plus, passer par des classes générique nous permettra en cas d'implémentation d'une nouvelle classe de ne pas avoir à créer une à deux nouvelles références, +et facilite donc l' implémentation de celle-ci. + +Quatre classes génériques ont été implémentés: +* `SingleReference` permettant une référence simple entre deux classes +* `MultipleReference` permettant une référence multiple entre deux classes +* `OneToManyReference` permettant une référence simple dans un sens et multiple dans l'autre +* `ManyToOneReference` permettant une référence multiple dans un sens et simple dans l'autre + +Pour les deux première classes, on utilise la même référence dans les deux sens. +Pour les deux dernières, on utilisera l'une dans un sens et la seconde dans l'autre. + +Pour plus d'information sur les implémentations, se référer aux tickets suivants: +https://gitlab.univ-nantes.fr/fluffysce/projet-2019/issues/7, +https://gitlab.univ-nantes.fr/fluffysce/projet-2019/issues/10, +https://gitlab.univ-nantes.fr/fluffysce/projet-2019/issues/11, +https://gitlab.univ-nantes.fr/fluffysce/projet-2019/issues/15. + +### ListWrapper +Pour remplacer les différentes classes *MailList*, *PhoneList*, *GroupList*, *AddressList* et *CardList*, celles-ci étant très répétitive dans leurs implémentation, +Celles-ci ont été remplacées par une classe `ListWrapper`. +https://gitlab.univ-nantes.fr/fluffysce/projet-2019/issues/12. + +### Gestion des mots de passe +Pour renforcer le système de chiffrement des mots de passe, nous sommes passés par la classe `SCryptUtil`, utilisant une fonction de dérivation de clé. +L'avantage de ce type de chiffrement est qu'il est peu couteux lors d'une utilisation unique (pour vérifier qu'un mot de passe soit correct ou non), +mais deviens plus couteux en cas d'attaque par force brute. + +De plus, la classe `PasswordManager` valide préalablement le mot de passe en calculant la robustesse du mot de passe choisi selon sa taille et le type de caractères choisis. + +Pour plus d'information sur le code, se référer au commits suivant: +b78739bb0446ae3fa1592df3d4bc40b2060b33c4, +27b938d64a69c64127462c331532809597f0958d. + +### Préconditions et Exceptions +L'implémentation des préconditions et exceptions se sont fait au fur et a mesure, notamment lors de l'implémentation de +test unitaires pour assurer le bon fonctionnement de ceux-ci. +De plus, une classe spécifique pour gérer certaines exception dans `Account` a été implémenté, pour éviter d'utiliser des exceptions trop génériques: `AccountNumberDoesNotExistException`. + +Pour plus d'information sur les choix faits au travers des tests, se référer au ticket suivant: https://gitlab.univ-nantes.fr/fluffysce/projet-2019/issues/6 +## Parties non traitées +Certaines parties n'ont pas pû être traitées lors de ce projet. Notamment l'implémentation de l'interface graphique qui n'a pû être terminée. +Nous avons mis en place deux morceaux de l'interface: +* La page de connexion pour un client (voir ticket https://gitlab.univ-nantes.fr/fluffysce/projet-2019/issues/17) +* La page de création d'un nouveau client (voir ticket https://gitlab.univ-nantes.fr/fluffysce/projet-2019/issues/18) + +Néanmoins, ce sont les seuls pages implémentées, il manque à l'heure actuelle une page personnelle au client lui permettant d'ajouter, supprimer ou gérer des comptes, faire un dépôt ou prélèvement. +De plus, il manque une interfcae graphique pour gérer ou supprimer les différents clients de la banque. diff --git a/javadoc/allclasses-index.html b/javadoc/allclasses-index.html new file mode 100644 index 0000000000000000000000000000000000000000..ef32aba272ae0656721cc59d7976f6a69242af3b --- /dev/null +++ b/javadoc/allclasses-index.html @@ -0,0 +1,271 @@ + + + + + +All Classes + + + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes

+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassDescription
Account 
AccountNumberDoesNotExistException 
Address 
AddressBook 
Bank 
Card 
City +
A city
+
Client 
ClientController 
CompanyAddress +
Cette Classe permet de fabriquer un objet Adresse.
+
CompanyCard 
CompanyClient 
DepositOperation 
GraphicalUserInterface 
Group 
HomeController 
ListWrapper<T> +
Issues #12 + all classes called FooList have the same methods and could be replace + with a simple List<Foo> + + Tests have been made for the original classes FooList and thus can be used for + non-regression testing + + This class is used as an adapter to translate the methods of the java ArrayList to FooList, + so that Tests can then be run using a List<Foo> and validate that the behavior + stay the same.
+
LoginController 
Mail 
Main 
ManyToOneReference<C,​T> 
MultipleReference<C,​T> 
NewClientController 
OneToManyReference<C,​T> 
Operation 
PasswordManager 
Phone 
PrivateAddress 
PrivateCard 
PrivateClient 
Reference 
SingleReference<C,​T> 
TextualUserInterface 
WithdrawOperation 
+
+
+
+
+ + + diff --git a/javadoc/allpackages-index.html b/javadoc/allpackages-index.html new file mode 100644 index 0000000000000000000000000000000000000000..9771987b923436455edb9fc7aacfbc45b8a929e0 --- /dev/null +++ b/javadoc/allpackages-index.html @@ -0,0 +1,136 @@ + + + + + +All Packages + + + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+ +
+ + + diff --git a/javadoc/constant-values.html b/javadoc/constant-values.html new file mode 100644 index 0000000000000000000000000000000000000000..1d0700c87611ed95ea010c4d4a9211175ec3a057 --- /dev/null +++ b/javadoc/constant-values.html @@ -0,0 +1,100 @@ + + + + + +Constant Field Values + + + + + + + + + + + + + + + + +
+ +
+
+
+

Constant Field Values

+
+

Contents

+
+
+
+ + + diff --git a/javadoc/element-list b/javadoc/element-list new file mode 100644 index 0000000000000000000000000000000000000000..d89defb325272648e3ccfb590ee2e29130959a17 --- /dev/null +++ b/javadoc/element-list @@ -0,0 +1,6 @@ +fr.unantes.software.construction +fr.unantes.software.construction.address +fr.unantes.software.construction.references +fr.unantes.software.construction.security +fr.unantes.software.construction.ui +fr.unantes.software.construction.ui.controller diff --git a/javadoc/fr/unantes/software/construction/Account.html b/javadoc/fr/unantes/software/construction/Account.html new file mode 100644 index 0000000000000000000000000000000000000000..a6e2a68eb3547cba15f3f50a17b243bbd9257a98 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/Account.html @@ -0,0 +1,510 @@ + + + + + +Account + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Account

+
+
+
java.lang.Object +
fr.unantes.software.construction.Account
+
+
+
+
public class Account
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    Account​(Client p, +float amount, +float overdraft) +
    Initializes the owners, amount, overdraft and the account id with parameters + If the owners is not null, add a bidirectional association between the account and its owners
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    voidaddHistory​(Operation o) +
    Adds a reference between an operation and the current account
    +
    voidaddOwner​(Client owner) +
    Add an owner to the current account
    +
    voiddeposit​(float amount) +
    If valid, adds the amount to the current balance and adds this operations in the history
    +
    floatgetBalance() 
    ManyToOneReference<Account,​Operation>getHistory() 
    java.lang.IntegergetId() 
    floatgetOverdraft() 
    MultipleReference<Account,​Client>getOwner() 
    java.lang.StringgetRole() 
    booleanhasRole() +
    If this account is associated with an owner, it takes it's role + Thus, an account cannot be shared by both private and company clients
    +
    Operation[]historyToArray() 
    voidremoveOwner​(Client owner) +
    Remove an owner of the account if it exists
    +
    voidsetBalance​(float balance) +
    Sets a new balance if it's over the overdraft
    +
    voidsetOverdraft​(float overdraft) +
    Set the overdraft with a new value
    +
    voidwithdraw​(float amount) +
    If the amount is greater or equal to the balance, withdraws the amount + If the amount is lower than the balance and greater than the overdraft, + withdraws the amount and throws an exception to warn that the balance is negative + If the amount is lower than the overdraft, + the amount is not withdrawn and exception is thrown to indicate that there is not enough credit.
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      Account

      +
      public Account​(Client p, +float amount, +float overdraft)
      +
      Initializes the owners, amount, overdraft and the account id with parameters + If the owners is not null, add a bidirectional association between the account and its owners
      +
      +
      Parameters:
      +
      p -
      +
      amount -
      +
      overdraft -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      deposit

      +
      public void deposit​(float amount)
      +
      If valid, adds the amount to the current balance and adds this operations in the history
      +
      +
      Parameters:
      +
      amount -
      +
      +
      +
    • +
    • +
      +

      withdraw

      +
      public void withdraw​(float amount) + throws java.lang.Exception
      +
      If the amount is greater or equal to the balance, withdraws the amount + If the amount is lower than the balance and greater than the overdraft, + withdraws the amount and throws an exception to warn that the balance is negative + If the amount is lower than the overdraft, + the amount is not withdrawn and exception is thrown to indicate that there is not enough credit.
      +
      +
      Parameters:
      +
      amount -
      +
      Throws:
      +
      AccountNumberDoesNotExistException
      +
      java.lang.Exception
      +
      +
      +
    • +
    • +
      +

      getOverdraft

      +
      public float getOverdraft()
      +
      +
      Returns:
      +
      the current overdraft allowed
      +
      +
      +
    • +
    • +
      +

      setOverdraft

      +
      public void setOverdraft​(float overdraft)
      +
      Set the overdraft with a new value
      +
      +
      Parameters:
      +
      overdraft -
      +
      +
      +
    • +
    • +
      +

      getBalance

      +
      public float getBalance()
      +
      +
      Returns:
      +
      the current balance of the account
      +
      +
      +
    • +
    • +
      +

      setBalance

      +
      public void setBalance​(float balance)
      +
      Sets a new balance if it's over the overdraft
      +
      +
      Parameters:
      +
      balance -
      +
      +
      +
    • +
    • +
      +

      getId

      +
      public java.lang.Integer getId()
      +
      +
      Returns:
      +
      the identifier associated with the account
      +
      +
      +
    • +
    • +
      +

      getOwner

      +
      public MultipleReference<Account,​Client> getOwner()
      +
      +
      Returns:
      +
      the references to its owners
      +
      +
      +
    • +
    • +
      +

      addOwner

      +
      public void addOwner​(Client owner)
      +
      Add an owner to the current account
      +
      +
    • +
    • +
      +

      removeOwner

      +
      public void removeOwner​(Client owner)
      +
      Remove an owner of the account if it exists
      +
      +
      Parameters:
      +
      owner -
      +
      +
      +
    • +
    • +
      +

      getRole

      +
      public java.lang.String getRole()
      +
      +
      Returns:
      +
      the current role of the account
      +
      +
      +
    • +
    • +
      +

      hasRole

      +
      public boolean hasRole()
      +
      If this account is associated with an owner, it takes it's role + Thus, an account cannot be shared by both private and company clients
      +
      +
      Returns:
      +
      true if the account has any owner, false otherwise
      +
      +
      +
    • +
    • +
      +

      addHistory

      +
      public void addHistory​(Operation o)
      +
      Adds a reference between an operation and the current account
      +
      +
      Parameters:
      +
      o -
      +
      +
      +
    • +
    • +
      +

      getHistory

      +
      public ManyToOneReference<Account,​Operation> getHistory()
      +
      +
      Returns:
      +
      the list of operations done to this account
      +
      +
      +
    • +
    • +
      +

      historyToArray

      +
      public Operation[] historyToArray()
      +
      +
      Returns:
      +
      an array of the operations associated with the account
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/AccountNumberDoesNotExistException.html b/javadoc/fr/unantes/software/construction/AccountNumberDoesNotExistException.html new file mode 100644 index 0000000000000000000000000000000000000000..6e8feff1089875496828b3bfb982064d3d7c06b6 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/AccountNumberDoesNotExistException.html @@ -0,0 +1,241 @@ + + + + + +AccountNumberDoesNotExistException + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AccountNumberDoesNotExistException

+
+
+
java.lang.Object +
java.lang.Throwable +
java.lang.Exception +
fr.unantes.software.construction.AccountNumberDoesNotExistException
+
+
+
+
+
+
All Implemented Interfaces:
+
java.io.Serializable
+
+
+
public class AccountNumberDoesNotExistException
+extends java.lang.Exception
+
+
See Also:
+
Serialized Form
+
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    AccountNumberDoesNotExistException() +
    Constructs an empty Exception
    +
    AccountNumberDoesNotExistException​(java.lang.String message) +
    Throws an exception with a message
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +

    Methods inherited from class java.lang.Throwable

    + + +addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+ +
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/Bank.html b/javadoc/fr/unantes/software/construction/Bank.html new file mode 100644 index 0000000000000000000000000000000000000000..ee7270343995ac648954006ecd8968689453745e --- /dev/null +++ b/javadoc/fr/unantes/software/construction/Bank.html @@ -0,0 +1,812 @@ + + + + + +Bank + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Bank

+
+
+
java.lang.Object +
fr.unantes.software.construction.Bank
+
+
+
+
public class Bank
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    Bank() +
    this constructor initializes the attributes : accountNumbers is initially 0, + accounts and clients and initialized with new empty Lists
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    java.util.Iterator<Account>accountsIterator() 
    intaccountsSize() 
    Account[]accountsToArray() 
    intaddAccount​(java.lang.String name, +float amount, +float overdraft, +java.lang.String type) +
    Creates an account for the person named name.
    +
    booleanaddAccounts​(Account element) +
    Add a new account to the bank
    +
    booleanaddClients​(Client element) +
    Add a client to the bank
    +
    voidclearAccounts() +
    Remove each accounts currently existing in the bank
    +
    voidclearClients() +
    Remove each clients currently in the bank
    +
    java.util.Iterator<Client>clientsIterator() 
    intclientsSize() 
    Client[]clientsToArray() 
    voidcloseAccount​(int accountNumber) +
    Closes the account number accountNumber.
    +
    booleancontainsAccounts​(Account element) +
    Check whether or not the account exists in the bank
    +
    booleancontainsAllAccounts​(java.util.List<Account> elements) +
    Chack whether or not a list of account exists in the bank
    +
    booleancontainsAllClients​(java.util.List<Client> elements) +
    Check whether or not multiple clients are arts of the bank
    +
    booleancontainsClients​(Client element) +
    Check whether or not a client is part of the bank
    +
    voiddeposit​(int accountNumber, +float amount) +
    Deposits the amount on the account number accountNumber
    +
    AccountgetAccount​(int accountNumber) +
    Looks for an account with the number accountNumber in the set of accounts + The assumption is that there cannot be several accounts with the same number
    +
    intgetAccountNumbers() 
    java.util.List<Account>getAccounts() 
    MultipleReference<Client,​Account>getAccountsOfClient​(java.lang.String name) 
    ClientgetClient​(java.lang.String name) +
    Looks for a person named name in the set of clients.
    +
    java.util.List<Client>getClients() 
    booleanisAccountsEmpty() 
    booleanisClientsEmpty() 
    booleanremoveAccounts​(Account element) +
    Remove an account to the bank
    +
    booleanremoveClients​(Client element) +
    Remove a client from the bank
    +
    voidsetAccountNumbers​(int accountNumbers) +
    Sets a new number of accounts in the bank
    +
    voidsetAccounts​(java.util.List<Account> value) +
    Sets a new list of accounts to the bank
    +
    voidsetClients​(java.util.List<Client> value) +
    Sets a new list of clients
    +
    voidwithdraw​(int accountNumber, +float amount) +
    Withdraws the amount from the account number accountNumber
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      Bank

      +
      public Bank()
      +
      this constructor initializes the attributes : accountNumbers is initially 0, + accounts and clients and initialized with new empty Lists
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getAccountNumbers

      +
      public int getAccountNumbers()
      +
      +
      Returns:
      +
      the current number of accounts in the bank
      +
      +
      +
    • +
    • +
      +

      setAccountNumbers

      +
      public void setAccountNumbers​(int accountNumbers)
      +
      Sets a new number of accounts in the bank
      +
      +
      Parameters:
      +
      accountNumbers -
      +
      +
      +
    • +
    • +
      +

      getClients

      +
      public java.util.List<Client> getClients()
      +
      +
      Returns:
      +
      the list of clients existing in the bank
      +
      +
      +
    • +
    • +
      +

      setClients

      +
      public void setClients​(java.util.List<Client> value)
      +
      Sets a new list of clients
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      clientsIterator

      +
      public java.util.Iterator<Client> clientsIterator()
      +
      +
      Returns:
      +
      the client the iterator is pointing at
      +
      +
      +
    • +
    • +
      +

      addClients

      +
      public boolean addClients​(Client element)
      +
      Add a client to the bank
      +
      +
      Parameters:
      +
      element -
      +
      Returns:
      +
      true if the client has been added, false otherwise
      +
      +
      +
    • +
    • +
      +

      removeClients

      +
      public boolean removeClients​(Client element)
      +
      Remove a client from the bank
      +
      +
      Parameters:
      +
      element -
      +
      Returns:
      +
      true if the client is not in the list, false otherwise
      +
      +
      +
    • +
    • +
      +

      isClientsEmpty

      +
      public boolean isClientsEmpty()
      +
      +
      Returns:
      +
      true if there is no client in the bank, false otherwise
      +
      +
      +
    • +
    • +
      +

      clearClients

      +
      public void clearClients()
      +
      Remove each clients currently in the bank
      +
      +
    • +
    • +
      +

      containsClients

      +
      public boolean containsClients​(Client element)
      +
      Check whether or not a client is part of the bank
      +
      +
      Parameters:
      +
      element -
      +
      Returns:
      +
      true if the client is found in the list, false otherwise
      +
      +
      +
    • +
    • +
      +

      containsAllClients

      +
      public boolean containsAllClients​(java.util.List<Client> elements)
      +
      Check whether or not multiple clients are arts of the bank
      +
      +
      Parameters:
      +
      elements -
      +
      Returns:
      +
      false if any of the client is missing, true otherwise
      +
      +
      +
    • +
    • +
      +

      clientsSize

      +
      public int clientsSize()
      +
      +
      Returns:
      +
      the current amount of clients in the bank
      +
      +
      +
    • +
    • +
      +

      clientsToArray

      +
      public Client[] clientsToArray()
      +
      +
      Returns:
      +
      an array of the clients
      +
      +
      +
    • +
    • +
      +

      addAccount

      +
      public int addAccount​(java.lang.String name, +float amount, +float overdraft, +java.lang.String type)
      +
      Creates an account for the person named name. + If no client has this name, a new client object is created and + is added to the list of clients, then the account is created + If the client exists the account is created, added to the bank's + and the client's list of accounts
      +
      +
      Parameters:
      +
      name -
      +
      amount -
      +
      overdraft -
      +
      type -
      +
      Returns:
      +
      the current amount of client in the bank
      +
      +
      +
    • +
    • +
      +

      closeAccount

      +
      public void closeAccount​(int accountNumber) + throws AccountNumberDoesNotExistException
      +
      Closes the account number accountNumber. + If the account exists, it is removed form the bank's list of accounts and from the owner's list of accounts. + If the account does not exist, an Exception is thrown.
      +
      +
      Parameters:
      +
      accountNumber -
      +
      Throws:
      +
      AccountNumberDoesNotExistException
      +
      +
      +
    • +
    • +
      +

      getClient

      +
      public Client getClient​(java.lang.String name)
      +
      Looks for a person named name in the set of clients.
      +
      +
      Parameters:
      +
      name -
      +
      Returns:
      +
      the Client object corresponding to the client if it exists,null if there is no client named name
      +
      +
      +
    • +
    • +
      +

      getAccount

      +
      public Account getAccount​(int accountNumber)
      +
      Looks for an account with the number accountNumber in the set of accounts + The assumption is that there cannot be several accounts with the same number
      +
      +
      Parameters:
      +
      accountNumber -
      +
      Returns:
      +
      the account if it exists, null if no account has the number accountNumber
      +
      +
      +
    • +
    • +
      +

      deposit

      +
      public void deposit​(int accountNumber, +float amount) + throws AccountNumberDoesNotExistException
      +
      Deposits the amount on the account number accountNumber
      +
      +
      Parameters:
      +
      accountNumber -
      +
      amount -
      +
      Throws:
      +
      AccountNumberDoesNotExistException
      +
      +
      +
    • +
    • +
      +

      withdraw

      +
      public void withdraw​(int accountNumber, +float amount) + throws java.lang.Exception
      +
      Withdraws the amount from the account number accountNumber
      +
      +
      Parameters:
      +
      accountNumber -
      +
      amount -
      +
      Throws:
      +
      AccountNumberDoesNotExistException
      +
      java.lang.Exception
      +
      +
      +
    • +
    • +
      +

      getAccountsOfClient

      +
      public MultipleReference<Client,​Account> getAccountsOfClient​(java.lang.String name)
      +
      +
      Parameters:
      +
      name -
      +
      Returns:
      +
      the collection of accounts of the client named name, null if there is no client named name
      +
      +
      +
    • +
    • +
      +

      getAccounts

      +
      public java.util.List<Account> getAccounts()
      +
      +
      Returns:
      +
      the list of account existing in the bank
      +
      +
      +
    • +
    • +
      +

      setAccounts

      +
      public void setAccounts​(java.util.List<Account> value)
      +
      Sets a new list of accounts to the bank
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      accountsIterator

      +
      public java.util.Iterator<Account> accountsIterator()
      +
      +
      Returns:
      +
      the client the iterator is pointing at
      +
      +
      +
    • +
    • +
      +

      addAccounts

      +
      public boolean addAccounts​(Account element)
      +
      Add a new account to the bank
      +
      +
      Parameters:
      +
      element -
      +
      Returns:
      +
      true if the account was properly added, false otherwise
      +
      +
      +
    • +
    • +
      +

      removeAccounts

      +
      public boolean removeAccounts​(Account element)
      +
      Remove an account to the bank
      +
      +
      Parameters:
      +
      element -
      +
      Returns:
      +
      true if the account is not in the list, false otherwise
      +
      +
      +
    • +
    • +
      +

      isAccountsEmpty

      +
      public boolean isAccountsEmpty()
      +
      +
      Returns:
      +
      true if there is no account found in the bank, false otherwise
      +
      +
      +
    • +
    • +
      +

      clearAccounts

      +
      public void clearAccounts()
      +
      Remove each accounts currently existing in the bank
      +
      +
    • +
    • +
      +

      containsAccounts

      +
      public boolean containsAccounts​(Account element)
      +
      Check whether or not the account exists in the bank
      +
      +
      Parameters:
      +
      element -
      +
      Returns:
      +
      true if the account is fount in the list, false otherwise
      +
      +
      +
    • +
    • +
      +

      containsAllAccounts

      +
      public boolean containsAllAccounts​(java.util.List<Account> elements)
      +
      Chack whether or not a list of account exists in the bank
      +
      +
      Parameters:
      +
      elements -
      +
      Returns:
      +
      false if any of the clients is missing, true otherwise
      +
      +
      +
    • +
    • +
      +

      accountsSize

      +
      public int accountsSize()
      +
      +
      Returns:
      +
      the amount of accounts existing in the bank
      +
      +
      +
    • +
    • +
      +

      accountsToArray

      +
      public Account[] accountsToArray()
      +
      +
      Returns:
      +
      an array of accounts
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/Client.html b/javadoc/fr/unantes/software/construction/Client.html new file mode 100644 index 0000000000000000000000000000000000000000..54e13d68068ab4390c7e0b8180d8688e7367806d --- /dev/null +++ b/javadoc/fr/unantes/software/construction/Client.html @@ -0,0 +1,513 @@ + + + + + +Client + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Client

+
+
+
java.lang.Object +
fr.unantes.software.construction.Client
+
+
+
+
Direct Known Subclasses:
+
CompanyClient, PrivateClient
+
+
+
public abstract class Client
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    Client​(java.lang.String username) +
    Constructs a client using an username
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    voidaddAccount​(Account element) +
    Add bidirectional association between the current client an accounts
    +
    booleanclearAccounts() +
    Remove each associations existing between the client and its accounts if there is
    +
    booleancontainsAccount​(Account element) +
    Check whether or not an account is associated with the current client
    +
    booleanequals​(java.lang.Object o) 
    MultipleReference<Client,​Account>getAccounts() 
    AddressgetAddress() 
    SingleReference<Client,​Address>getAddressRef() 
    SingleReference<Client,​Card>getCard() 
    java.util.UUIDgetIdentification() 
    java.lang.StringgetName() 
    abstract java.lang.StringgetRole() 
    inthashCode() 
    booleanisAccountsEmpty() 
    voidremoveAccount​(Account element) +
    Remove a bidirectional association with an account
    +
    voidsetAccounts​(Account[] value) +
    Set bidirectional association between the current client and several accounts
    +
    voidsetAddress​(Address add) +
    Sets the bidirectional association between the client and an address
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, getClass, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      Client

      +
      public Client​(java.lang.String username)
      +
      Constructs a client using an username
      +
      +
      Parameters:
      +
      username -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getAddress

      +
      public Address getAddress()
      +
      +
      Returns:
      +
      the address associated with the current client
      +
      +
      +
    • +
    • +
      +

      getAddressRef

      +
      public SingleReference<Client,​Address> getAddressRef()
      +
      +
      Returns:
      +
      the single reference to an address
      +
      +
      +
    • +
    • +
      +

      getCard

      +
      public SingleReference<Client,​Card> getCard()
      +
      +
      Returns:
      +
      the card associated with the current client
      +
      +
      +
    • +
    • +
      +

      setAddress

      +
      public void setAddress​(Address add)
      +
      Sets the bidirectional association between the client and an address
      +
      +
      Parameters:
      +
      add -
      +
      +
      +
    • +
    • +
      +

      getIdentification

      +
      public java.util.UUID getIdentification()
      +
      +
      Returns:
      +
      the identification number associated with the current client
      +
      +
      +
    • +
    • +
      +

      getAccounts

      +
      public MultipleReference<Client,​Account> getAccounts()
      +
      +
      Returns:
      +
      the multiple references between the current client and its accounts
      +
      +
      +
    • +
    • +
      +

      setAccounts

      +
      public void setAccounts​(Account[] value)
      +
      Set bidirectional association between the current client and several accounts
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      addAccount

      +
      public void addAccount​(Account element)
      +
      Add bidirectional association between the current client an accounts
      +
      +
      Parameters:
      +
      element -
      +
      +
      +
    • +
    • +
      +

      removeAccount

      +
      public void removeAccount​(Account element)
      +
      Remove a bidirectional association with an account
      +
      +
      Parameters:
      +
      element -
      +
      +
      +
    • +
    • +
      +

      isAccountsEmpty

      +
      public boolean isAccountsEmpty()
      +
      +
      Returns:
      +
      false if there is an association with at least one account, true otherwise
      +
      +
      +
    • +
    • +
      +

      clearAccounts

      +
      public boolean clearAccounts()
      +
      Remove each associations existing between the client and its accounts if there is
      +
      +
      Returns:
      +
      false if there is an association with at least one account, true otherwise
      +
      +
      +
    • +
    • +
      +

      containsAccount

      +
      public boolean containsAccount​(Account element)
      +
      Check whether or not an account is associated with the current client
      +
      +
      Parameters:
      +
      element -
      +
      Returns:
      +
      true if the account is associated with, false otherwise
      +
      +
      +
    • +
    • +
      +

      getName

      +
      public java.lang.String getName()
      +
      +
      Returns:
      +
      the username of the client
      +
      +
      +
    • +
    • +
      +

      getRole

      +
      public abstract java.lang.String getRole()
      +
      +
      Returns:
      +
      the role of the client
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals​(java.lang.Object o)
      +
      +
      Overrides:
      +
      equals in class java.lang.Object
      +
      Parameters:
      +
      o -
      +
      Returns:
      +
      true if two objects are identicals, false otherwise
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class java.lang.Object
      +
      Returns:
      +
      the hashCode associated with the client
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/CompanyClient.html b/javadoc/fr/unantes/software/construction/CompanyClient.html new file mode 100644 index 0000000000000000000000000000000000000000..9981324368be5feb33ffcfaadde86e3dac70d7ad --- /dev/null +++ b/javadoc/fr/unantes/software/construction/CompanyClient.html @@ -0,0 +1,320 @@ + + + + + +CompanyClient + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CompanyClient

+
+
+
java.lang.Object +
fr.unantes.software.construction.Client +
fr.unantes.software.construction.CompanyClient
+
+
+
+
+
public class CompanyClient
+extends Client
+
+
+ +
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      CompanyClient

      +
      public CompanyClient​(java.lang.String username)
      +
      calls the super constructor with the username
      +
      +
      Parameters:
      +
      username -
      +
      +
      +
    • +
    • +
      +

      CompanyClient

      +
      public CompanyClient​(java.lang.String username, +java.lang.String companyName)
      +
      calls the super constructor with the username and set the companyName
      +
      +
      Parameters:
      +
      username -
      +
      companyName -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getCompanyName

      +
      public java.lang.String getCompanyName()
      +
      +
      Returns:
      +
      the name of the company
      +
      +
      +
    • +
    • +
      +

      setCompanyName

      +
      public void setCompanyName​(java.lang.String value)
      +
      Set the name of the company with current value
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      getRole

      +
      public java.lang.String getRole()
      +
      +
      Specified by:
      +
      getRole in class Client
      +
      Returns:
      +
      the role of the client
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/DepositOperation.html b/javadoc/fr/unantes/software/construction/DepositOperation.html new file mode 100644 index 0000000000000000000000000000000000000000..1dd06d064f8588383aec3bd5d7eff73e7fab41d4 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/DepositOperation.html @@ -0,0 +1,265 @@ + + + + + +DepositOperation + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class DepositOperation

+
+
+
java.lang.Object +
fr.unantes.software.construction.Operation +
fr.unantes.software.construction.DepositOperation
+
+
+
+
+
public class DepositOperation
+extends Operation
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    DepositOperation​(float amount, +java.time.LocalDateTime dateTime) +
    Calls the constructor of super class with the parameter amount
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    java.lang.StringgetOperationType() 
    +
    +
    +
    +

    Methods inherited from class fr.unantes.software.construction.Operation

    + + +getAccount, getAmount, getDateTime, setAccount
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      DepositOperation

      +
      public DepositOperation​(float amount, +java.time.LocalDateTime dateTime)
      +
      Calls the constructor of super class with the parameter amount
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    + +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/Main.html b/javadoc/fr/unantes/software/construction/Main.html new file mode 100644 index 0000000000000000000000000000000000000000..97f08c34c1209e4927e4b80ca628e0f5b3c77e41 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/Main.html @@ -0,0 +1,256 @@ + + + + + +Main + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Main

+
+
+
java.lang.Object +
fr.unantes.software.construction.Main
+
+
+
+
public class Main
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    Main() 
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    static voidmain​(java.lang.String[] args) +
    Launch the Graphical User Inteface
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      Main

      +
      public Main()
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main​(java.lang.String[] args)
      +
      Launch the Graphical User Inteface
      +
      +
      Parameters:
      +
      args -
      +
      See Also:
      +
      GraphicalUserInterface
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/Operation.html b/javadoc/fr/unantes/software/construction/Operation.html new file mode 100644 index 0000000000000000000000000000000000000000..acf473fa6fbfc4fe4a99b4712d39e27f9d4a9cbe --- /dev/null +++ b/javadoc/fr/unantes/software/construction/Operation.html @@ -0,0 +1,328 @@ + + + + + +Operation + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Operation

+
+
+
java.lang.Object +
fr.unantes.software.construction.Operation
+
+
+
+
Direct Known Subclasses:
+
DepositOperation, WithdrawOperation
+
+
+
public abstract class Operation
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    Operation​(float amount, +java.time.LocalDateTime dateTime) +
    Constructs an operation with its amount and date
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    OneToManyReferencegetAccount() 
    floatgetAmount() 
    java.time.LocalDateTimegetDateTime() 
    abstract java.lang.StringgetOperationType() 
    voidsetAccount​(Account value) +
    Set a bidirectional association between an operation and an account
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      Operation

      +
      public Operation​(float amount, +java.time.LocalDateTime dateTime)
      +
      Constructs an operation with its amount and date
      +
      +
      Parameters:
      +
      amount -
      +
      dateTime -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getAmount

      +
      public float getAmount()
      +
      +
      Returns:
      +
      the amount used for this operation
      +
      +
      +
    • +
    • +
      +

      setAccount

      +
      public void setAccount​(Account value)
      +
      Set a bidirectional association between an operation and an account
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      getAccount

      +
      public OneToManyReference getAccount()
      +
      +
      Returns:
      +
      the reference to Account
      +
      +
      +
    • +
    • +
      +

      getDateTime

      +
      public java.time.LocalDateTime getDateTime()
      +
      +
      Returns:
      +
      the date and time of this operation
      +
      +
      +
    • +
    • +
      +

      getOperationType

      +
      public abstract java.lang.String getOperationType()
      +
      +
      Returns:
      +
      the type of the current operation
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/PrivateClient.html b/javadoc/fr/unantes/software/construction/PrivateClient.html new file mode 100644 index 0000000000000000000000000000000000000000..c050516d82abf52944f24ceaf5b2ad99e8d94956 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/PrivateClient.html @@ -0,0 +1,376 @@ + + + + + +PrivateClient + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PrivateClient

+
+
+
java.lang.Object +
fr.unantes.software.construction.Client +
fr.unantes.software.construction.PrivateClient
+
+
+
+
+
public class PrivateClient
+extends Client
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    PrivateClient​(java.lang.String username) +
    calls the super constructor with the username
    +
    PrivateClient​(java.lang.String username, +java.lang.String lastName) +
    calls the super constructor with the username and set only the last name
    +
    PrivateClient​(java.lang.String username, +java.lang.String firstName, +java.lang.String lastName) +
    calls the super constructor with the username and set both the first an last name
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    java.lang.StringgetFirstName() 
    java.lang.StringgetLastName() 
    java.lang.StringgetRole() 
    voidsetFirstName​(java.lang.String value) +
    Set the first name of the client with the current value
    +
    voidsetLastName​(java.lang.String value) +
    Set the last name of the client with the current value
    +
    +
    +
    + +
    +

    Methods inherited from class java.lang.Object

    + + +clone, getClass, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      PrivateClient

      +
      public PrivateClient​(java.lang.String username)
      +
      calls the super constructor with the username
      +
      +
      Parameters:
      +
      username -
      +
      +
      +
    • +
    • +
      +

      PrivateClient

      +
      public PrivateClient​(java.lang.String username, +java.lang.String lastName)
      +
      calls the super constructor with the username and set only the last name
      +
      +
      Parameters:
      +
      username -
      +
      lastName -
      +
      +
      +
    • +
    • +
      +

      PrivateClient

      +
      public PrivateClient​(java.lang.String username, +java.lang.String firstName, +java.lang.String lastName)
      +
      calls the super constructor with the username and set both the first an last name
      +
      +
      Parameters:
      +
      username -
      +
      firstName -
      +
      lastName -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getFirstName

      +
      public java.lang.String getFirstName()
      +
      +
      Returns:
      +
      the first name of the client
      +
      +
      +
    • +
    • +
      +

      getLastName

      +
      public java.lang.String getLastName()
      +
      +
      Returns:
      +
      the last name of the client
      +
      +
      +
    • +
    • +
      +

      setFirstName

      +
      public void setFirstName​(java.lang.String value)
      +
      Set the first name of the client with the current value
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      setLastName

      +
      public void setLastName​(java.lang.String value)
      +
      Set the last name of the client with the current value
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      getRole

      +
      public java.lang.String getRole()
      +
      +
      Specified by:
      +
      getRole in class Client
      +
      Returns:
      +
      the role of the client
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/WithdrawOperation.html b/javadoc/fr/unantes/software/construction/WithdrawOperation.html new file mode 100644 index 0000000000000000000000000000000000000000..f9382702d998b5d4e33031720301a4c03ceafa71 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/WithdrawOperation.html @@ -0,0 +1,265 @@ + + + + + +WithdrawOperation + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class WithdrawOperation

+
+
+
java.lang.Object +
fr.unantes.software.construction.Operation +
fr.unantes.software.construction.WithdrawOperation
+
+
+
+
+
public class WithdrawOperation
+extends Operation
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    WithdrawOperation​(float amount, +java.time.LocalDateTime dateTime) +
    calls the super constructor with the amount and dateTime
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    java.lang.StringgetOperationType() 
    +
    +
    +
    +

    Methods inherited from class fr.unantes.software.construction.Operation

    + + +getAccount, getAmount, getDateTime, setAccount
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      WithdrawOperation

      +
      public WithdrawOperation​(float amount, +java.time.LocalDateTime dateTime)
      +
      calls the super constructor with the amount and dateTime
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    + +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/Address.html b/javadoc/fr/unantes/software/construction/address/Address.html new file mode 100644 index 0000000000000000000000000000000000000000..47df905fb25af5d2aa6892976719191c4ccf84c0 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/Address.html @@ -0,0 +1,622 @@ + + + + + +Address + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class Address

+
+
+
java.lang.Object +
fr.unantes.software.construction.address.Address
+
+
+
+
Direct Known Subclasses:
+
CompanyAddress, PrivateAddress
+
+
+
public abstract class Address
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Field Summary

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Fields 
    Modifier and TypeFieldDescription
    protected Citycity +
    City where the address is
    +
    protected java.lang.Stringlocality +
    Locality where the address is, if any
    +
    protected java.lang.StringstreetName +
    name of the street
    +
    protected java.lang.IntegerstreetNumber +
    number of the street
    +
    protected java.lang.IntegerzipCode +
    Zip code of the area
    +
    +
    +
    +
  • + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    Address​(java.lang.Integer streetNumber, +java.lang.String street, +City city, +java.lang.Integer zipCode, +java.lang.String locality) +
    Constructor
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    CitygetCity() 
    java.lang.StringgetLocality() 
    SingleReference<Address,​Client>getRefClient() 
    abstract java.lang.StringgetRole() 
    java.lang.StringgetStreet() 
    java.lang.IntegergetStreetNumber() 
    java.lang.StringgetXMLListClosingTag() 
    java.lang.StringgetXMLListOpenTag() 
    java.lang.IntegergetZipCode() 
    voidsetCity​(City city) +
    Set the name of the city
    +
    voidsetLocality​(java.lang.String locality) +
    Set the locality
    +
    voidsetStreet​(java.lang.String street) +
    Set the name of the street
    +
    voidsetStreetNumber​(java.lang.Integer streetNumber) +
    Set the number of the street
    +
    voidsetZipCode​(java.lang.Integer zipCode) +
    Set the zip code
    +
    java.lang.StringtoString() 
    abstract java.lang.StringtoXML() 
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Field Details

    +
      +
    • +
      +

      streetNumber

      +
      @Nonnull +protected java.lang.Integer streetNumber
      +
      number of the street
      +
      +
    • +
    • +
      +

      streetName

      +
      @Nonnull +protected java.lang.String streetName
      +
      name of the street
      +
      +
    • +
    • +
      +

      city

      +
      @Nonnull +protected City city
      +
      City where the address is
      +
      +
    • +
    • +
      +

      zipCode

      +
      @Nonnull +protected java.lang.Integer zipCode
      +
      Zip code of the area
      +
      +
    • +
    • +
      +

      locality

      +
      @Nullable +protected java.lang.String locality
      +
      Locality where the address is, if any
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      Address

      +
      public Address​(java.lang.Integer streetNumber, +java.lang.String street, +City city, +java.lang.Integer zipCode, +java.lang.String locality)
      +
      Constructor
      +
      +
      Parameters:
      +
      streetNumber - le numero de la voie
      +
      street - le nom de la rue
      +
      city - le nom de la ville
      +
      zipCode - le numero de code postal
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getRefClient

      +
      public SingleReference<Address,​Client> getRefClient()
      +
      +
      Returns:
      +
      the reference to the owner of the address
      +
      +
      +
    • +
    • +
      +

      getStreetNumber

      +
      public java.lang.Integer getStreetNumber()
      +
      +
      Returns:
      +
      the street number of the address
      +
      +
      +
    • +
    • +
      +

      getStreet

      +
      public java.lang.String getStreet()
      +
      +
      Returns:
      +
      the name of the address street
      +
      +
      +
    • +
    • +
      +

      getCity

      +
      public City getCity()
      +
      +
      Returns:
      +
      the city the address is
      +
      +
      +
    • +
    • +
      +

      getZipCode

      +
      public java.lang.Integer getZipCode()
      +
      +
      Returns:
      +
      the zip code of the address area
      +
      +
      +
    • +
    • +
      +

      getLocality

      +
      public java.lang.String getLocality()
      +
      +
      Returns:
      +
      the locality the address is
      +
      +
      +
    • +
    • +
      +

      setStreetNumber

      +
      public void setStreetNumber​(java.lang.Integer streetNumber)
      +
      Set the number of the street
      +
      +
      Parameters:
      +
      streetNumber -
      +
      +
      +
    • +
    • +
      +

      setStreet

      +
      public void setStreet​(java.lang.String street)
      +
      Set the name of the street
      +
      +
      Parameters:
      +
      street -
      +
      +
      +
    • +
    • +
      +

      setLocality

      +
      public void setLocality​(java.lang.String locality)
      +
      Set the locality
      +
      +
      Parameters:
      +
      locality -
      +
      +
      +
    • +
    • +
      +

      setCity

      +
      public void setCity​(City city)
      +
      Set the name of the city
      +
      +
      Parameters:
      +
      city -
      +
      +
      +
    • +
    • +
      +

      setZipCode

      +
      public void setZipCode​(java.lang.Integer zipCode)
      +
      Set the zip code
      +
      +
      Parameters:
      +
      zipCode -
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public java.lang.String toString()
      +
      +
      Overrides:
      +
      toString in class java.lang.Object
      +
      Returns:
      +
      the street informations as a String
      +
      +
      +
    • +
    • +
      +

      getRole

      +
      public abstract java.lang.String getRole()
      +
      +
      Returns:
      +
      the role of the address
      +
      +
      +
    • +
    • +
      +

      toXML

      +
      public abstract java.lang.String toXML()
      +
      +
      Returns:
      +
      the XML code that gives addresses informations
      +
      +
      +
    • +
    • +
      +

      getXMLListOpenTag

      +
      public java.lang.String getXMLListOpenTag()
      +
      +
      Returns:
      +
      the open tag of the list
      +
      +
      +
    • +
    • +
      +

      getXMLListClosingTag

      +
      public java.lang.String getXMLListClosingTag()
      +
      +
      Returns:
      +
      the closing tag of the list
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/AddressBook.html b/javadoc/fr/unantes/software/construction/address/AddressBook.html new file mode 100644 index 0000000000000000000000000000000000000000..f841444445330ef16bd3a0bca99c290862793d3f --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/AddressBook.html @@ -0,0 +1,367 @@ + + + + + +AddressBook + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class AddressBook

+
+
+
java.lang.Object +
fr.unantes.software.construction.address.AddressBook
+
+
+
+
public class AddressBook
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    AddressBook() +
    Construct empty address book + Initialize the card's list
    +
    AddressBook​(java.lang.String name, +ListWrapper cards) +
    Constructs the address book + Initialize the card's list and add cards to it
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    ListWrapper<Card>getCards() 
    java.lang.StringgetName() 
    AddressBookmerge​(AddressBook addressBook, +java.lang.String name) +
    Merge two address books into a new one
    +
    voidsetCards​(ListWrapper<Card> cards) +
    Sets card list with new value
    +
    voidsetName​(java.lang.String names) +
    Set the name of the address book
    +
    java.lang.StringtoXML() 
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      AddressBook

      +
      public AddressBook()
      +
      Construct empty address book + Initialize the card's list
      +
      +
    • +
    • +
      +

      AddressBook

      +
      public AddressBook​(java.lang.String name, +ListWrapper cards)
      +
      Constructs the address book + Initialize the card's list and add cards to it
      +
      +
      Parameters:
      +
      name -
      +
      cards -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getName

      +
      public java.lang.String getName()
      +
      +
      Returns:
      +
      the name of the address book
      +
      +
      +
    • +
    • +
      +

      getCards

      +
      public ListWrapper<Card> getCards()
      +
      +
      Returns:
      +
      the list of cards
      +
      +
      +
    • +
    • +
      +

      setName

      +
      public void setName​(java.lang.String names)
      +
      Set the name of the address book
      +
      +
      Parameters:
      +
      names -
      +
      +
      +
    • +
    • +
      +

      setCards

      +
      public void setCards​(ListWrapper<Card> cards)
      +
      Sets card list with new value
      +
      +
      Parameters:
      +
      cards -
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public AddressBook merge​(AddressBook addressBook, +java.lang.String name)
      +
      Merge two address books into a new one
      +
      +
      Parameters:
      +
      addressBook -
      +
      name -
      +
      Returns:
      +
      new address book with merged values
      +
      +
      +
    • +
    • +
      +

      toXML

      +
      public java.lang.String toXML()
      +
      +
      Returns:
      +
      XML code to list cards in address book
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/Card.html b/javadoc/fr/unantes/software/construction/address/Card.html new file mode 100644 index 0000000000000000000000000000000000000000..c9400c922b390f986887fcf4aec923737d31a6cb --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/Card.html @@ -0,0 +1,556 @@ + + + + + +Card + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
java.lang.Object +
fr.unantes.software.construction.address.Card
+
+
+
+
Direct Known Subclasses:
+
CompanyCard, PrivateCard
+
+
+
public abstract class Card
+extends java.lang.Object
+
+
+ +
+
+
    + +
  • +
    + + +

    Field Details

    + +
    +
  • + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      Card

      +
      public Card​(Client client)
      +
      Constructs a dard associated to a client
      +
      +
      Parameters:
      +
      client -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getAddresses

      +
      public ListWrapper<Address> getAddresses()
      +
      +
      Returns:
      +
      list of addresses
      +
      +
      +
    • +
    • +
      +

      getPhones

      +
      public ListWrapper<Phone> getPhones()
      +
      +
      Returns:
      +
      list of phones
      +
      +
      +
    • +
    • +
      +

      getMails

      +
      public ListWrapper<Mail> getMails()
      +
      +
      Returns:
      +
      list of mails
      +
      +
      +
    • +
    • +
      +

      getGroups

      +
      public ListWrapper<Group> getGroups()
      +
      +
      Returns:
      +
      list of groups
      +
      +
      +
    • +
    • +
      +

      setAddresses

      +
      public void setAddresses​(ListWrapper<Address> addresses)
      +
      Add several addresses to the current list
      +
      +
      Parameters:
      +
      addresses -
      +
      +
      +
    • +
    • +
      +

      setPhones

      +
      public void setPhones​(ListWrapper<Phone> phones)
      +
      Set a new list of phones
      +
      +
      Parameters:
      +
      phones -
      +
      +
      +
    • +
    • +
      +

      setMails

      +
      public void setMails​(ListWrapper<Mail> mails)
      +
      Set a new list of mails
      +
      +
      Parameters:
      +
      mails -
      +
      +
      +
    • +
    • +
      +

      setGroups

      +
      public void setGroups​(ListWrapper<Group> groups)
      +
      Set a new list of groups
      +
      +
      Parameters:
      +
      groups -
      +
      +
      +
    • +
    • +
      +

      getOwner

      +
      public SingleReference<Card,​Client> getOwner()
      +
      +
      Returns:
      +
      the owner of the card
      +
      +
      +
    • +
    • +
      +

      getName

      +
      public abstract java.lang.String getName()
      +
      +
      Returns:
      +
      the name of the owner
      +
      +
      +
    • +
    • +
      +

      identicalCard

      +
      public boolean identicalCard​(Card card)
      +
      Check if two cards are identicals
      +
      +
      Parameters:
      +
      card -
      +
      Returns:
      +
      true if the cards are the same, false otherwise
      +
      +
      +
    • +
    • +
      +

      getIdentification

      +
      public java.util.UUID getIdentification()
      +
      +
      Returns:
      +
      the identification number of the card
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals​(java.lang.Object other)
      +
      Check if two cards ahas same identifications number + If so, they're considered the same
      +
      +
      Overrides:
      +
      equals in class java.lang.Object
      +
      Parameters:
      +
      other -
      +
      Returns:
      +
      true if two cards are identicals, false otherwise
      +
      +
      +
    • +
    • +
      +

      toXML

      +
      public abstract java.lang.String toXML()
      +
      +
      Returns:
      +
      the XML code with informations of a card
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/City.html b/javadoc/fr/unantes/software/construction/address/City.html new file mode 100644 index 0000000000000000000000000000000000000000..9895aa083df62a66ac4902a5cff6b1c1cda06ad1 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/City.html @@ -0,0 +1,354 @@ + + + + + +City + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
java.lang.Object +
fr.unantes.software.construction.address.City
+
+
+
+
public class City
+extends java.lang.Object
+
A city
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    City​(java.lang.String country, +java.lang.String name) +
    Constructs a city with country
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    booleanequals​(java.lang.Object o) +
    Check whether two cities have identical name + Check if the city are from the same country
    +
    java.lang.StringgetCountry() 
    java.lang.StringgetName() 
    inthashCode() 
    voidsetCountry​(java.lang.String country) +
    Sets the name of the country
    +
    voidsetName​(java.lang.String name) +
    Sets the name of the city
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, getClass, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      City

      +
      public City​(java.lang.String country, +java.lang.String name)
      +
      Constructs a city with country
      +
      +
      Parameters:
      +
      country -
      +
      name -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getCountry

      +
      public java.lang.String getCountry()
      +
      +
      Returns:
      +
      the name of the country
      +
      +
      +
    • +
    • +
      +

      setCountry

      +
      public void setCountry​(java.lang.String country)
      +
      Sets the name of the country
      +
      +
      Parameters:
      +
      country -
      +
      +
      +
    • +
    • +
      +

      getName

      +
      public java.lang.String getName()
      +
      +
      Returns:
      +
      the name of the city
      +
      +
      +
    • +
    • +
      +

      setName

      +
      public void setName​(java.lang.String name)
      +
      Sets the name of the city
      +
      +
      Parameters:
      +
      name -
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals​(java.lang.Object o)
      +
      Check whether two cities have identical name + Check if the city are from the same country
      +
      +
      Overrides:
      +
      equals in class java.lang.Object
      +
      Parameters:
      +
      o -
      +
      Returns:
      +
      true is the cities are equals, false otherwise
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      +
      Overrides:
      +
      hashCode in class java.lang.Object
      +
      Returns:
      +
      hashcode associated with the city
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/CompanyAddress.html b/javadoc/fr/unantes/software/construction/address/CompanyAddress.html new file mode 100644 index 0000000000000000000000000000000000000000..023078077d87fdbf25931189e1b08385d225e04e --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/CompanyAddress.html @@ -0,0 +1,363 @@ + + + + + +CompanyAddress + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CompanyAddress

+
+
+
java.lang.Object +
fr.unantes.software.construction.address.Address +
fr.unantes.software.construction.address.CompanyAddress
+
+
+
+
+
public class CompanyAddress
+extends Address
+
Cette Classe permet de fabriquer un objet Adresse.
+
+
+ +
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      CompanyAddress

      +
      public CompanyAddress​(java.lang.Integer streetNumber, +java.lang.String street, +City city, +int zipCode, +java.lang.String locality, +java.lang.String zone)
      +
      Constructs the address of the company
      +
      +
      Parameters:
      +
      streetNumber -
      +
      street -
      +
      city -
      +
      zipCode -
      +
      locality -
      +
      zone -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getSector

      +
      public java.lang.String getSector()
      +
      +
      Returns:
      +
      the sector the company belongs to
      +
      +
      +
    • +
    • +
      +

      getRole

      +
      public java.lang.String getRole()
      +
      +
      Specified by:
      +
      getRole in class Address
      +
      Returns:
      +
      the role of the address
      +
      +
      +
    • +
    • +
      +

      setSector

      +
      public void setSector​(java.lang.String sector)
      +
      Set the sector of the company
      +
      +
      Parameters:
      +
      sector -
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public java.lang.String toString()
      +
      +
      Overrides:
      +
      toString in class Address
      +
      Returns:
      +
      current company address as a String
      +
      +
      +
    • +
    • +
      +

      toXML

      +
      public java.lang.String toXML()
      +
      +
      Specified by:
      +
      toXML in class Address
      +
      Returns:
      +
      the XML code that gives the current company address
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/CompanyCard.html b/javadoc/fr/unantes/software/construction/address/CompanyCard.html new file mode 100644 index 0000000000000000000000000000000000000000..dfb7d502a907159daed6c5b9df114019e532c9dd --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/CompanyCard.html @@ -0,0 +1,371 @@ + + + + + +CompanyCard + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class CompanyCard

+
+
+
java.lang.Object +
fr.unantes.software.construction.address.Card +
fr.unantes.software.construction.address.CompanyCard
+
+
+
+
+
public class CompanyCard
+extends Card
+
+
+ +
+
+
    + +
  • +
    + + +

    Field Details

    +
      +
    • +
      +

      companyName

      +
      @Nullable +protected java.lang.String companyName
      +
      the username of the company that owns the card
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      CompanyCard

      +
      public CompanyCard​(CompanyClient client)
      +
      Calls the superclass constructor + Sets the company name
      +
      +
      Parameters:
      +
      client -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getCompanyName

      +
      public java.lang.String getCompanyName()
      +
      +
      Returns:
      +
      the company name
      +
      +
      +
    • +
    • +
      +

      setCompanyName

      +
      public void setCompanyName​(java.lang.String companyName)
      +
      Sets name of the company owning the card
      +
      +
      Parameters:
      +
      companyName -
      +
      +
      +
    • +
    • +
      +

      getName

      +
      public java.lang.String getName()
      +
      +
      Specified by:
      +
      getName in class Card
      +
      Returns:
      +
      the name of the company that owns the card
      +
      +
      +
    • +
    • +
      +

      toXML

      +
      public java.lang.String toXML()
      +
      +
      Specified by:
      +
      toXML in class Card
      +
      Returns:
      +
      the XML code that gives card informations
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/Group.html b/javadoc/fr/unantes/software/construction/address/Group.html new file mode 100644 index 0000000000000000000000000000000000000000..480d720f30dded603900f3ba2bc6cae496199f4a --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/Group.html @@ -0,0 +1,431 @@ + + + + + +Group + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
java.lang.Object +
fr.unantes.software.construction.address.Group
+
+
+
+
public class Group
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Field Summary

    +
    + + + + + + + + + + + + + + + + + + + + + +
    Fields 
    Modifier and TypeFieldDescription
    protected java.lang.Stringcomment +
    A comment associated with this group
    +
    protected java.lang.Stringname +
    The name of the group
    +
    +
    +
    +
  • + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    Group​(java.lang.String name, +java.lang.String comment) +
    Constructor
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    java.lang.StringgetComment() 
    java.lang.StringgetName() 
    booleanhasSameName​(Group group) +
    Check whether or not two groups have same names
    +
    Groupmerge​(Group group) +
    Merge two groups into a new one if they share the same name + If the first one does not have comment, merge using the second one
    +
    voidsetComment​(java.lang.String comment) +
    Set the comment with a new value
    +
    voidsetName​(java.lang.String name) +
    Sets the name of the group with a new value
    +
    java.lang.StringtoXML() 
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Field Details

    +
      +
    • +
      +

      name

      +
      @Nonnull +protected java.lang.String name
      +
      The name of the group
      +
      +
    • +
    • +
      +

      comment

      +
      @Nullable +protected java.lang.String comment
      +
      A comment associated with this group
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      Group

      +
      public Group​(java.lang.String name, +java.lang.String comment)
      +
      Constructor
      +
      +
      Parameters:
      +
      name -
      +
      comment -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getName

      +
      public java.lang.String getName()
      +
      +
      Returns:
      +
      the name of the group
      +
      +
      +
    • +
    • +
      +

      getComment

      +
      public java.lang.String getComment()
      +
      +
      Returns:
      +
      the comment associated with this group
      +
      +
      +
    • +
    • +
      +

      setName

      +
      public void setName​(java.lang.String name)
      +
      Sets the name of the group with a new value
      +
      +
      Parameters:
      +
      name -
      +
      +
      +
    • +
    • +
      +

      setComment

      +
      public void setComment​(java.lang.String comment)
      +
      Set the comment with a new value
      +
      +
      Parameters:
      +
      comment -
      +
      +
      +
    • +
    • +
      +

      hasSameName

      +
      public boolean hasSameName​(Group group)
      +
      Check whether or not two groups have same names
      +
      +
      Parameters:
      +
      group -
      +
      Returns:
      +
      true if two groups have the same name, false otherwise
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public Group merge​(Group group)
      +
      Merge two groups into a new one if they share the same name + If the first one does not have comment, merge using the second one
      +
      +
      Parameters:
      +
      group -
      +
      Returns:
      +
      the merged group
      +
      +
      +
    • +
    • +
      +

      toXML

      +
      public java.lang.String toXML()
      +
      +
      Returns:
      +
      the XML code that gives group informations
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/ListWrapper.html b/javadoc/fr/unantes/software/construction/address/ListWrapper.html new file mode 100644 index 0000000000000000000000000000000000000000..3fa0f03b32a1590981ced7e5a8878bd1a2c173b4 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/ListWrapper.html @@ -0,0 +1,423 @@ + + + + + +ListWrapper + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ListWrapper<T>

+
+
+
java.lang.Object +
fr.unantes.software.construction.address.ListWrapper<T>
+
+
+
+
public class ListWrapper<T>
+extends java.lang.Object
+
Issues #12 + all classes called FooList have the same methods and could be replace + with a simple List<Foo> + + Tests have been made for the original classes FooList and thus can be used for + non-regression testing + + This class is used as an adapter to translate the methods of the java ArrayList to FooList, + so that Tests can then be run using a List<Foo> and validate that the behavior + stay the same.
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    ListWrapper() +
    Empty constructor
    +
    ListWrapper​(ListWrapper<T> otherList) +
    Copy constructor
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    voidadd​(T elt) 
    booleancontains​(T elt) 
    ListWrapper<T>delegateMerge​(ListWrapper<T> otherList) +
    Delegate the merge to the methods of java.util.List, but it may have duplicates
    +
    voiddelete​(T elt) 
    booleanfind​(T elt) 
    java.util.List<T>get() 
    ListWrapper<T>merge​(ListWrapper<T> otherList) +
    Iterate on otherlist to add each element one by one to this ListOf
    +
    voidset​(java.util.List<T> newTargetList) 
    intsize() 
    java.lang.StringtoString() 
    java.lang.StringtoXML() 
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      ListWrapper

      +
      public ListWrapper()
      +
      Empty constructor
      +
      +
    • +
    • +
      +

      ListWrapper

      +
      public ListWrapper​(ListWrapper<T> otherList)
      +
      Copy constructor
      +
      +
      Parameters:
      +
      otherList - List to copy
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      get

      +
      public java.util.List<T> get()
      +
      +
      Returns:
      +
      a List of element
      +
      +
      +
    • +
    • +
      +

      set

      +
      public void set​(java.util.List<T> newTargetList)
      +
      +
    • +
    • +
      +

      + +add

      +
      public void add​(T elt)
      +
      +
    • +
    • +
      +

      + +delete

      +
      public void delete​(T elt)
      +
      +
    • +
    • +
      +

      + +contains

      +
      public boolean contains​(T elt)
      +
      +
    • +
    • +
      +

      + +find

      +
      public boolean find​(T elt)
      +
      +
    • +
    • +
      +

      size

      +
      public int size()
      +
      +
    • +
    • +
      +

      merge

      +
      public ListWrapper<T> merge​(ListWrapper<T> otherList)
      +
      Iterate on otherlist to add each element one by one to this ListOf
      +
      +
      Parameters:
      +
      otherList - a list of elements to add to this ListOf
      +
      Returns:
      +
      a new ListOf containing the elements of this ListOf element and the elements of otherList
      +
      +
      +
    • +
    • +
      +

      delegateMerge

      +
      public ListWrapper<T> delegateMerge​(ListWrapper<T> otherList)
      +
      Delegate the merge to the methods of java.util.List, but it may have duplicates
      +
      +
      Parameters:
      +
      otherList - a list of elements to add to this ListOf
      +
      Returns:
      +
      a new ListOf containing the elements of this ListOf element and the elements of otherList
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public java.lang.String toString()
      +
      +
      Overrides:
      +
      toString in class java.lang.Object
      +
      Returns:
      +
      a String representing this ListWrapper
      +
      +
      +
    • +
    • +
      +

      toXML

      +
      public java.lang.String toXML()
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/Mail.html b/javadoc/fr/unantes/software/construction/address/Mail.html new file mode 100644 index 0000000000000000000000000000000000000000..1712a35a5a03cc9eeaded57f00c9edcf7587fda2 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/Mail.html @@ -0,0 +1,388 @@ + + + + + +Mail + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
java.lang.Object +
fr.unantes.software.construction.address.Mail
+
+
+
+
public class Mail
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    Mail​(java.lang.String home, +java.lang.String work) +
    Constructor
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    booleanequals​(java.lang.Object another) +
    Check whether two mails are identicals
    +
    java.lang.StringgetHome() 
    java.lang.StringgetWork() 
    Mailmerge​(Mail mail) +
    Merge two mails + If current home mail is empty, merge using the second home mail + If current work mail is empty, merge using the second work mail
    +
    voidsetHome​(java.lang.String home) +
    Set home mail with a new value
    +
    voidsetWork​(java.lang.String work) +
    Set work mail with new value
    +
    java.lang.StringtoString() 
    java.lang.StringtoXML() 
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      Mail

      +
      public Mail​(java.lang.String home, +java.lang.String work)
      +
      Constructor
      +
      +
      Parameters:
      +
      home -
      +
      work -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getHome

      +
      public java.lang.String getHome()
      +
      +
      Returns:
      +
      the home mail
      +
      +
      +
    • +
    • +
      +

      getWork

      +
      public java.lang.String getWork()
      +
      +
      Returns:
      +
      the work mail
      +
      +
      +
    • +
    • +
      +

      setHome

      +
      public void setHome​(java.lang.String home)
      +
      Set home mail with a new value
      +
      +
      Parameters:
      +
      home -
      +
      +
      +
    • +
    • +
      +

      setWork

      +
      public void setWork​(java.lang.String work)
      +
      Set work mail with new value
      +
      +
      Parameters:
      +
      work -
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public Mail merge​(Mail mail)
      +
      Merge two mails + If current home mail is empty, merge using the second home mail + If current work mail is empty, merge using the second work mail
      +
      +
      Parameters:
      +
      mail -
      +
      +
      +
    • +
    • +
      +

      toXML

      +
      public java.lang.String toXML()
      +
      +
      Returns:
      +
      the XML code that gives mail informations
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public java.lang.String toString()
      +
      +
      Overrides:
      +
      toString in class java.lang.Object
      +
      Returns:
      +
      mail informations as a String
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals​(java.lang.Object another)
      +
      Check whether two mails are identicals
      +
      +
      Overrides:
      +
      equals in class java.lang.Object
      +
      Parameters:
      +
      another -
      +
      Returns:
      +
      true if the mails are the same, false otherwise
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/Phone.html b/javadoc/fr/unantes/software/construction/address/Phone.html new file mode 100644 index 0000000000000000000000000000000000000000..7bf2acd343705d1fc8c5c3d98353169c62df4c5b --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/Phone.html @@ -0,0 +1,455 @@ + + + + + +Phone + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
java.lang.Object +
fr.unantes.software.construction.address.Phone
+
+
+
+
public class Phone
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Field Summary

    +
    + + + + + + + + + + + + + + + + + + + + + +
    Fields 
    Modifier and TypeFieldDescription
    protected java.lang.Stringcomment +
    A comment associated with this phone
    +
    protected java.lang.IntegerphoneNumber +
    The phone number
    +
    +
    +
    +
  • + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    Phone​(java.lang.Integer phoneNumber, +java.lang.String comment) +
    Constructor
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    booleanequals​(java.lang.Object another) +
    Check if two phones are the same
    +
    java.lang.StringgetComment() 
    java.lang.IntegergetPhoneNumber() 
    Phonemerge​(Phone phone) +
    Merge two phones if they have the same number + Check if the first one has comment + If not, merge using the comment of the second phone
    +
    booleansameNumberAs​(Phone other) +
    Check whether or not two phones has the same number
    +
    voidsetComment​(java.lang.String comment) +
    Set the comment with a new value
    +
    voidsetPhoneNumber​(java.lang.Integer phoneNumber) +
    Set the phone number with a new value
    +
    java.lang.StringtoXML() 
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Field Details

    +
      +
    • +
      +

      phoneNumber

      +
      @Nonnull +protected java.lang.Integer phoneNumber
      +
      The phone number
      +
      +
    • +
    • +
      +

      comment

      +
      @Nullable +protected java.lang.String comment
      +
      A comment associated with this phone
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      Phone

      +
      public Phone​(java.lang.Integer phoneNumber, +java.lang.String comment)
      +
      Constructor
      +
      +
      Parameters:
      +
      phoneNumber -
      +
      comment -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getPhoneNumber

      +
      public java.lang.Integer getPhoneNumber()
      +
      +
      Returns:
      +
      the current phone number
      +
      +
      +
    • +
    • +
      +

      getComment

      +
      public java.lang.String getComment()
      +
      +
      Returns:
      +
      the comment associated with the phone
      +
      +
      +
    • +
    • +
      +

      setPhoneNumber

      +
      public void setPhoneNumber​(java.lang.Integer phoneNumber)
      +
      Set the phone number with a new value
      +
      +
      Parameters:
      +
      phoneNumber -
      +
      +
      +
    • +
    • +
      +

      setComment

      +
      public void setComment​(java.lang.String comment)
      +
      Set the comment with a new value
      +
      +
      Parameters:
      +
      comment -
      +
      +
      +
    • +
    • +
      +

      merge

      +
      public Phone merge​(Phone phone)
      +
      Merge two phones if they have the same number + Check if the first one has comment + If not, merge using the comment of the second phone
      +
      +
      Parameters:
      +
      phone -
      +
      Returns:
      +
      the merged phones
      +
      +
      +
    • +
    • +
      +

      toXML

      +
      public java.lang.String toXML()
      +
      +
      Returns:
      +
      the XML code that gives phone informations
      +
      +
      +
    • +
    • +
      +

      sameNumberAs

      +
      public boolean sameNumberAs​(Phone other)
      +
      Check whether or not two phones has the same number
      +
      +
      Parameters:
      +
      other -
      +
      Returns:
      +
      true if the two phone numbers are identical, false otherwise
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals​(java.lang.Object another)
      +
      Check if two phones are the same
      +
      +
      Overrides:
      +
      equals in class java.lang.Object
      +
      Parameters:
      +
      another -
      +
      Returns:
      +
      true if the two phones are the same, false otherwise
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/PrivateAddress.html b/javadoc/fr/unantes/software/construction/address/PrivateAddress.html new file mode 100644 index 0000000000000000000000000000000000000000..7445decccd64353046331897402cc674e30b280c --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/PrivateAddress.html @@ -0,0 +1,363 @@ + + + + + +PrivateAddress + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PrivateAddress

+
+
+
java.lang.Object +
fr.unantes.software.construction.address.Address +
fr.unantes.software.construction.address.PrivateAddress
+
+
+
+
+
public class PrivateAddress
+extends Address
+
+
+ +
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      PrivateAddress

      +
      public PrivateAddress​(java.lang.Integer streetNumber, +java.lang.String street, +City city, +int zipCode, +java.lang.String locality)
      +
      Calls superclass to construct the private address
      +
      +
      Parameters:
      +
      streetNumber -
      +
      street -
      +
      city -
      +
      zipCode -
      +
      locality -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getLocality

      +
      public java.lang.String getLocality()
      +
      +
      Overrides:
      +
      getLocality in class Address
      +
      Returns:
      +
      the locality where this address is
      +
      +
      +
    • +
    • +
      +

      getRole

      +
      public java.lang.String getRole()
      +
      +
      Specified by:
      +
      getRole in class Address
      +
      Returns:
      +
      the role of the address
      +
      +
      +
    • +
    • +
      +

      setLocality

      +
      public void setLocality​(java.lang.String locality)
      +
      Sets the locality of the address
      +
      +
      Overrides:
      +
      setLocality in class Address
      +
      Parameters:
      +
      locality -
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public java.lang.String toString()
      +
      +
      Overrides:
      +
      toString in class Address
      +
      Returns:
      +
      the current address as a String
      +
      +
      +
    • +
    • +
      +

      toXML

      +
      public java.lang.String toXML()
      +
      +
      Specified by:
      +
      toXML in class Address
      +
      Returns:
      +
      the XML code that gives address informations
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/PrivateCard.html b/javadoc/fr/unantes/software/construction/address/PrivateCard.html new file mode 100644 index 0000000000000000000000000000000000000000..4cd060522794a07c25ce6ea21373c57662c85ab7 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/PrivateCard.html @@ -0,0 +1,299 @@ + + + + + +PrivateCard + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PrivateCard

+
+
+
java.lang.Object +
fr.unantes.software.construction.address.Card +
fr.unantes.software.construction.address.PrivateCard
+
+
+
+
+
public class PrivateCard
+extends Card
+
+
+ +
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      PrivateCard

      +
      public PrivateCard​(PrivateClient owner)
      +
      Calls the superclass constructor + Sets the owner of the card
      +
      +
      Parameters:
      +
      owner -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getName

      +
      public java.lang.String getName()
      +
      +
      Specified by:
      +
      getName in class Card
      +
      Returns:
      +
      the first and last name of the client
      +
      +
      +
    • +
    • +
      +

      toXML

      +
      public java.lang.String toXML()
      +
      +
      Specified by:
      +
      toXML in class Card
      +
      Returns:
      +
      the XML code that gives cards informations
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/address/package-summary.html b/javadoc/fr/unantes/software/construction/address/package-summary.html new file mode 100644 index 0000000000000000000000000000000000000000..24011ad7cb8f08306fb4160011e7077b24d2405f --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/package-summary.html @@ -0,0 +1,181 @@ + + + + + +fr.unantes.software.construction.address + + + + + + + + + + + + + + + + +
+ +
+
+
+

Package fr.unantes.software.construction.address

+
+
+
+
    +
  • +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Class Summary 
    ClassDescription
    Address 
    AddressBook 
    Card 
    City +
    A city
    +
    CompanyAddress +
    Cette Classe permet de fabriquer un objet Adresse.
    +
    CompanyCard 
    Group 
    ListWrapper<T> +
    Issues #12 + all classes called FooList have the same methods and could be replace + with a simple List<Foo> + + Tests have been made for the original classes FooList and thus can be used for + non-regression testing + + This class is used as an adapter to translate the methods of the java ArrayList to FooList, + so that Tests can then be run using a List<Foo> and validate that the behavior + stay the same.
    +
    Mail 
    Phone 
    PrivateAddress 
    PrivateCard 
    +
    +
  • +
+
+
+
+ + + diff --git a/javadoc/fr/unantes/software/construction/address/package-tree.html b/javadoc/fr/unantes/software/construction/address/package-tree.html new file mode 100644 index 0000000000000000000000000000000000000000..4ddb233f16c1aaf431bd5a6e68c74a31aa830afd --- /dev/null +++ b/javadoc/fr/unantes/software/construction/address/package-tree.html @@ -0,0 +1,130 @@ + + + + + +fr.unantes.software.construction.address Class Hierarchy + + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package fr.unantes.software.construction.address

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • fr.unantes.software.construction.address.Address + +
    • +
    • fr.unantes.software.construction.address.AddressBook
    • +
    • fr.unantes.software.construction.address.Card +
        +
      • fr.unantes.software.construction.address.CompanyCard
      • +
      • fr.unantes.software.construction.address.PrivateCard
      • +
      +
    • +
    • fr.unantes.software.construction.address.City
    • +
    • fr.unantes.software.construction.address.Group
    • +
    • fr.unantes.software.construction.address.ListWrapper<T>
    • +
    • fr.unantes.software.construction.address.Mail
    • +
    • fr.unantes.software.construction.address.Phone
    • +
    +
  • +
+
+
+
+ + + diff --git a/javadoc/fr/unantes/software/construction/package-summary.html b/javadoc/fr/unantes/software/construction/package-summary.html new file mode 100644 index 0000000000000000000000000000000000000000..e46b7f577700cddf51bdfe8d269b77cf8c70142e --- /dev/null +++ b/javadoc/fr/unantes/software/construction/package-summary.html @@ -0,0 +1,173 @@ + + + + + +fr.unantes.software.construction + + + + + + + + + + + + + + + + +
+ +
+
+
+

Package fr.unantes.software.construction

+
+
+
+ +
+
+
+ + + diff --git a/javadoc/fr/unantes/software/construction/package-tree.html b/javadoc/fr/unantes/software/construction/package-tree.html new file mode 100644 index 0000000000000000000000000000000000000000..2a4ec8dbec12c3a86bb0888c909073e09165ff49 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/package-tree.html @@ -0,0 +1,136 @@ + + + + + +fr.unantes.software.construction Class Hierarchy + + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package fr.unantes.software.construction

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/javadoc/fr/unantes/software/construction/references/ManyToOneReference.html b/javadoc/fr/unantes/software/construction/references/ManyToOneReference.html new file mode 100644 index 0000000000000000000000000000000000000000..1a81cc603feeb912c40656bf4626d5b27f281961 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/references/ManyToOneReference.html @@ -0,0 +1,417 @@ + + + + + +ManyToOneReference + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ManyToOneReference<C,​T>

+
+
+
java.lang.Object +
fr.unantes.software.construction.references.ManyToOneReference<C,​T>
+
+
+
+
public abstract class ManyToOneReference<C,​T>
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    ManyToOneReference​(C container) +
    Constructs the reference with its container
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    voidadd​(T value) +
    Add a new target to the list + Unset the targets previous reference is there was any
    +
    voidbasicAdd​(T value) +
    Add a value to the list of targets
    +
    voidbasicRemove​(T value) +
    Remove a value to the list of targets
    +
    booleancontains​(T value) +
    Check whether or not a value is referenced
    +
    java.util.List<T>get() 
    Tget​(int i) 
    abstract OneToManyReference<T,​C>oppositeFor​(T target) 
    voidremove​(T value) +
    Remove a target from the list of targets + Unset the opposite reference
    +
    intsize() 
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      + +ManyToOneReference

      +
      public ManyToOneReference​(C container)
      +
      Constructs the reference with its container
      +
      +
      Parameters:
      +
      container -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      get

      +
      public java.util.List<T> get()
      +
      +
      Returns:
      +
      the list of targets
      +
      +
      +
    • +
    • +
      +

      get

      +
      public T get​(int i)
      +
      +
      Parameters:
      +
      i -
      +
      Returns:
      +
      the target at index i
      +
      +
      +
    • +
    • +
      +

      + +contains

      +
      public boolean contains​(T value)
      +
      Check whether or not a value is referenced
      +
      +
      Parameters:
      +
      value -
      +
      Returns:
      +
      true if the value is found in the list of targets, false otherwise
      +
      +
      +
    • +
    • +
      +

      + +add

      +
      public void add​(T value)
      +
      Add a new target to the list + Unset the targets previous reference is there was any
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      + +remove

      +
      public void remove​(T value)
      +
      Remove a target from the list of targets + Unset the opposite reference
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      size

      +
      public int size()
      +
      +
      Returns:
      +
      the amount of targets in the list
      +
      +
      +
    • +
    • +
      +

      + +basicAdd

      +
      public void basicAdd​(T value)
      +
      Add a value to the list of targets
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      + +basicRemove

      +
      public void basicRemove​(T value)
      +
      Remove a value to the list of targets
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      + +oppositeFor

      +
      public abstract OneToManyReference<T,​C> oppositeFor​(T target)
      +
      +
      Parameters:
      +
      target -
      +
      Returns:
      +
      the opposite reference (from target to container)
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/references/MultipleReference.html b/javadoc/fr/unantes/software/construction/references/MultipleReference.html new file mode 100644 index 0000000000000000000000000000000000000000..07fd5a67855eb59d5618696e82b722ccb445692e --- /dev/null +++ b/javadoc/fr/unantes/software/construction/references/MultipleReference.html @@ -0,0 +1,415 @@ + + + + + +MultipleReference + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class MultipleReference<C,​T>

+
+
+
java.lang.Object +
fr.unantes.software.construction.references.MultipleReference<C,​T>
+
+
+
+
public abstract class MultipleReference<C,​T>
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    MultipleReference​(C container) +
    Constructs the reference with its container
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    voidadd​(T value) +
    add a new target to the list
    +
    voidbasicAdd​(T value) +
    Remove a value to the list of targets
    +
    voidbasicRemove​(T value) +
    Add a value to the list of targets
    +
    booleancontains​(T value) +
    Check whether or not a value is referenced
    +
    java.util.List<T>get() 
    Tget​(int i) 
    abstract MultipleReference<T,​C>oppositeFor​(T target) 
    voidremove​(T value) +
    Remove a target from the list of targets + Unset the opposite reference
    +
    intsize() 
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      + +MultipleReference

      +
      public MultipleReference​(C container)
      +
      Constructs the reference with its container
      +
      +
      Parameters:
      +
      container -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      get

      +
      public java.util.List<T> get()
      +
      +
      Returns:
      +
      the list of targets
      +
      +
      +
    • +
    • +
      +

      get

      +
      public T get​(int i)
      +
      +
      Parameters:
      +
      i -
      +
      Returns:
      +
      the target at index i
      +
      +
      +
    • +
    • +
      +

      + +contains

      +
      public boolean contains​(T value)
      +
      Check whether or not a value is referenced
      +
      +
      Parameters:
      +
      value -
      +
      Returns:
      +
      true if the value is found in the list of targets, false otherwise
      +
      +
      +
    • +
    • +
      +

      + +add

      +
      public void add​(T value)
      +
      add a new target to the list
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      + +remove

      +
      public void remove​(T value)
      +
      Remove a target from the list of targets + Unset the opposite reference
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      size

      +
      public int size()
      +
      +
      Returns:
      +
      the amount of targets in the list
      +
      +
      +
    • +
    • +
      +

      + +basicRemove

      +
      public void basicRemove​(T value)
      +
      Add a value to the list of targets
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      + +basicAdd

      +
      public void basicAdd​(T value)
      +
      Remove a value to the list of targets
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      + +oppositeFor

      +
      public abstract MultipleReference<T,​C> oppositeFor​(T target)
      +
      +
      Parameters:
      +
      target -
      +
      Returns:
      +
      the opposite reference (from target to container)
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/references/OneToManyReference.html b/javadoc/fr/unantes/software/construction/references/OneToManyReference.html new file mode 100644 index 0000000000000000000000000000000000000000..b6c48d570fee5ac561f992a930298c027ce46ac7 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/references/OneToManyReference.html @@ -0,0 +1,366 @@ + + + + + +OneToManyReference + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class OneToManyReference<C,​T>

+
+
+
java.lang.Object +
fr.unantes.software.construction.references.OneToManyReference<C,​T>
+
+
+
+
public abstract class OneToManyReference<C,​T>
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + + + +
    Constructors 
    ModifierConstructorDescription
    protected OneToManyReference​(C container) +
    Constructs the reference with its container
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    voidbasicSet​(T value) +
    Sets the target attribute with current value
    +
    voidbasicUnset() +
    Sets the target attribute to null
    +
    Tget() 
    booleanisSet() 
    abstract ManyToOneReferenceoppositeFor​(T target) 
    voidset​(T value) +
    Sets a new target + Unset the previous one if there was any
    +
    voidunset() +
    Unset the current target if there is any
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      + +OneToManyReference

      +
      protected OneToManyReference​(C container)
      +
      Constructs the reference with its container
      +
      +
      Parameters:
      +
      container -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      isSet

      +
      public boolean isSet()
      +
      +
      Returns:
      +
      true if the reference is set, false otherwise
      +
      +
      +
    • +
    • +
      +

      get

      +
      public T get()
      +
      +
      Returns:
      +
      the current target
      +
      +
      +
    • +
    • +
      +

      + +set

      +
      public void set​(T value)
      +
      Sets a new target + Unset the previous one if there was any
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      unset

      +
      public void unset()
      +
      Unset the current target if there is any
      +
      +
    • +
    • +
      +

      + +basicSet

      +
      public void basicSet​(T value)
      +
      Sets the target attribute with current value
      +
      +
      Parameters:
      +
      value -
      +
      +
      +
    • +
    • +
      +

      basicUnset

      +
      public void basicUnset()
      +
      Sets the target attribute to null
      +
      +
    • +
    • +
      +

      + +oppositeFor

      +
      public abstract ManyToOneReference oppositeFor​(T target)
      +
      +
      Parameters:
      +
      target -
      +
      Returns:
      +
      the opposite reference (from target to container)
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/references/Reference.html b/javadoc/fr/unantes/software/construction/references/Reference.html new file mode 100644 index 0000000000000000000000000000000000000000..a20926072ab31c65b9c3b074d0d4462452db5563 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/references/Reference.html @@ -0,0 +1,219 @@ + + + + + +Reference + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Interface Reference

+
+
+
+
+
All Known Implementing Classes:
+
SingleReference
+
+
+
public interface Reference
+
+
+
    + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    booleanisSet() 
    voidunset() +
    Sets the current reference to null
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      isSet

      +
      boolean isSet()
      +
      +
      Returns:
      +
      true if the reference is set, false otherwise
      +
      +
      +
    • +
    • +
      +

      unset

      +
      void unset()
      +
      Sets the current reference to null
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/references/SingleReference.html b/javadoc/fr/unantes/software/construction/references/SingleReference.html new file mode 100644 index 0000000000000000000000000000000000000000..a121fc69051ff4c25ddf832a5e53d9cb9dac970a --- /dev/null +++ b/javadoc/fr/unantes/software/construction/references/SingleReference.html @@ -0,0 +1,341 @@ + + + + + +SingleReference + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class SingleReference<C,​T>

+
+
+
java.lang.Object +
fr.unantes.software.construction.references.SingleReference<C,​T>
+
+
+
+
All Implemented Interfaces:
+
Reference
+
+
+
public abstract class SingleReference<C,​T>
+extends java.lang.Object
+implements Reference
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    SingleReference​(C c) +
    Constructs the reference with its container
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    Tget() 
    booleanisSet() 
    abstract SingleReference<T,​C>oppositeFor​(T target) 
    voidset​(T newTarget) +
    Sets a new target + Unset the previous one if there was any
    +
    voidunset() +
    Unset the current target if there is any
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      + +SingleReference

      +
      public SingleReference​(C c)
      +
      Constructs the reference with its container
      +
      +
      Parameters:
      +
      c -
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      isSet

      +
      public boolean isSet()
      +
      +
      Specified by:
      +
      isSet in interface Reference
      +
      Returns:
      +
      true if the reference is set, false otherwise
      +
      +
      +
    • +
    • +
      +

      get

      +
      public T get()
      +
      +
      Returns:
      +
      the current target
      +
      +
      +
    • +
    • +
      +

      + +set

      +
      public void set​(T newTarget)
      +
      Sets a new target + Unset the previous one if there was any
      +
      +
      Parameters:
      +
      newTarget -
      +
      +
      +
    • +
    • +
      +

      unset

      +
      public void unset()
      +
      Unset the current target if there is any
      +
      +
      Specified by:
      +
      unset in interface Reference
      +
      +
      +
    • +
    • +
      +

      + +oppositeFor

      +
      public abstract SingleReference<T,​C> oppositeFor​(T target)
      +
      +
      Parameters:
      +
      target -
      +
      Returns:
      +
      the opposite reference (from target to container)
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/references/package-summary.html b/javadoc/fr/unantes/software/construction/references/package-summary.html new file mode 100644 index 0000000000000000000000000000000000000000..546c09a25f238cfa98238bead13ea14ba980cd69 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/references/package-summary.html @@ -0,0 +1,153 @@ + + + + + +fr.unantes.software.construction.references + + + + + + + + + + + + + + + + +
+ +
+
+
+

Package fr.unantes.software.construction.references

+
+
+
+ +
+
+
+ + + diff --git a/javadoc/fr/unantes/software/construction/references/package-tree.html b/javadoc/fr/unantes/software/construction/references/package-tree.html new file mode 100644 index 0000000000000000000000000000000000000000..492081dfe16f6aaf4e883a3c5f34d385e68bfb4d --- /dev/null +++ b/javadoc/fr/unantes/software/construction/references/package-tree.html @@ -0,0 +1,122 @@ + + + + + +fr.unantes.software.construction.references Class Hierarchy + + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package fr.unantes.software.construction.references

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+
    +
  • fr.unantes.software.construction.references.Reference
  • +
+
+
+
+ + + diff --git a/javadoc/fr/unantes/software/construction/security/ClientController.html b/javadoc/fr/unantes/software/construction/security/ClientController.html new file mode 100644 index 0000000000000000000000000000000000000000..d70d004bf7f8843a81b6b74bc6e8c80abe16c400 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/security/ClientController.html @@ -0,0 +1,350 @@ + + + + + +ClientController + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class ClientController

+
+
+
java.lang.Object +
fr.unantes.software.construction.security.ClientController
+
+
+
+
public class ClientController
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    ClientController() +
    ClientController initialization
    +
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    booleanaddUser​(Client person, +java.lang.String password) +
    Add a new user to the manager
    +
    java.util.Map<java.lang.String,​Client>getNamestoClients() 
    booleanhasUser​(Client person) +
    Test if an user is registered in the manager
    +
    static ClientControllerinstanceOf() 
    booleanremoveUser​(Client person) +
    Remove a user from the manager
    +
    booleanvalidatePassword​(Client person, +java.lang.String password) +
    Valid a password
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    +
      +
    • +
      +

      ClientController

      +
      public ClientController()
      +
      ClientController initialization
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      hasUser

      +
      public boolean hasUser​(Client person)
      +
      Test if an user is registered in the manager
      +
      +
      Parameters:
      +
      person - - User to search for
      +
      Returns:
      +
      True if the user is registered, False otherwise
      +
      +
      +
    • +
    • +
      +

      addUser

      +
      public boolean addUser​(Client person, +java.lang.String password) + throws java.lang.IllegalArgumentException
      +
      Add a new user to the manager
      +
      +
      Parameters:
      +
      person - - User to add
      +
      password - - User's password
      +
      Returns:
      +
      True if everything went smoothly, False otherwise
      +
      Throws:
      +
      java.lang.IllegalArgumentException
      +
      +
      +
    • +
    • +
      +

      removeUser

      +
      public boolean removeUser​(Client person)
      +
      Remove a user from the manager
      +
      +
      Parameters:
      +
      person - - User to remove
      +
      Returns:
      +
      True if everything went smoothly, False otherwise
      +
      +
      +
    • +
    • +
      +

      validatePassword

      +
      public boolean validatePassword​(Client person, +java.lang.String password)
      +
      Valid a password
      +
      +
      Parameters:
      +
      person - - User associated to the password
      +
      password - - password to validate
      +
      Returns:
      +
      True if the password is valid, false otherwise
      +
      +
      +
    • +
    • +
      +

      getNamestoClients

      +
      public java.util.Map<java.lang.String,​Client> getNamestoClients()
      +
      +
    • +
    • +
      +

      instanceOf

      +
      public static final ClientController instanceOf()
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/security/PasswordManager.html b/javadoc/fr/unantes/software/construction/security/PasswordManager.html new file mode 100644 index 0000000000000000000000000000000000000000..00791a2ba6afe04a03ee1a853569cbad0ab31e49 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/security/PasswordManager.html @@ -0,0 +1,319 @@ + + + + + +PasswordManager + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class PasswordManager

+
+
+
java.lang.Object +
fr.unantes.software.construction.security.PasswordManager
+
+
+
+
public class PasswordManager
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    PasswordManager() 
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    protected java.lang.Stringencode​(java.lang.String clearPassword) +
    Encode the clear password
    +
    protected intgetlength​(java.lang.String clearPassword) +
    Calculate the strength of a password according to characters choosen
    +
    protected booleanvalidate​(java.lang.String clearPassword, +java.lang.String encodedPassword) +
    Check if the encoded password matchs the clear one
    +
    protected booleanvalidateNewPassword​(java.lang.String password) +
    Check if the password is over the minimal size
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    + +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      validate

      +
      protected boolean validate​(java.lang.String clearPassword, +java.lang.String encodedPassword)
      +
      Check if the encoded password matchs the clear one
      +
      +
      Parameters:
      +
      clearPassword -
      +
      encodedPassword -
      +
      Returns:
      +
      true if there is a match, false otherwise
      +
      +
      +
    • +
    • +
      +

      encode

      +
      protected java.lang.String encode​(java.lang.String clearPassword)
      +
      Encode the clear password
      +
      +
      Parameters:
      +
      clearPassword -
      +
      Returns:
      +
      the encoded password
      +
      +
      +
    • +
    • +
      +

      validateNewPassword

      +
      protected boolean validateNewPassword​(java.lang.String password)
      +
      Check if the password is over the minimal size
      +
      +
      Parameters:
      +
      password -
      +
      Returns:
      +
      true if the password is long enough, false otherwise
      +
      +
      +
    • +
    • +
      +

      getlength

      +
      protected int getlength​(java.lang.String clearPassword)
      +
      Calculate the strength of a password according to characters choosen
      +
      +
      Parameters:
      +
      clearPassword -
      +
      Returns:
      +
      the length of the clear password
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/security/package-summary.html b/javadoc/fr/unantes/software/construction/security/package-summary.html new file mode 100644 index 0000000000000000000000000000000000000000..f51741db9938262a1da8c0776beb49ac017415a9 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/security/package-summary.html @@ -0,0 +1,126 @@ + + + + + +fr.unantes.software.construction.security + + + + + + + + + + + + + + + + +
+ +
+
+
+

Package fr.unantes.software.construction.security

+
+
+
+ +
+
+
+ + + diff --git a/javadoc/fr/unantes/software/construction/security/package-tree.html b/javadoc/fr/unantes/software/construction/security/package-tree.html new file mode 100644 index 0000000000000000000000000000000000000000..601df0f508dbc3df42adfef29e61babe11725c59 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/security/package-tree.html @@ -0,0 +1,114 @@ + + + + + +fr.unantes.software.construction.security Class Hierarchy + + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package fr.unantes.software.construction.security

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/javadoc/fr/unantes/software/construction/ui/GraphicalUserInterface.html b/javadoc/fr/unantes/software/construction/ui/GraphicalUserInterface.html new file mode 100644 index 0000000000000000000000000000000000000000..c91658ae450f8eefc9c8bd0719c465a07c64762d --- /dev/null +++ b/javadoc/fr/unantes/software/construction/ui/GraphicalUserInterface.html @@ -0,0 +1,292 @@ + + + + + +GraphicalUserInterface + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class GraphicalUserInterface

+
+
+
java.lang.Object +
javafx.application.Application +
fr.unantes.software.construction.ui.GraphicalUserInterface
+
+
+
+
+
public class GraphicalUserInterface
+extends javafx.application.Application
+
+
+
    + +
  • +
    + + +

    Nested Class Summary

    +
    +

    Nested classes/interfaces inherited from class javafx.application.Application

    + + +javafx.application.Application.Parameters
    +
    +
  • + +
  • +
    + + +

    Field Summary

    +
    +

    Fields inherited from class javafx.application.Application

    + + +STYLESHEET_CASPIAN, STYLESHEET_MODENA
    +
    +
  • + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    GraphicalUserInterface() 
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    voidstart​(javafx.stage.Stage stage) +
    Starts the graphical user interface
    +
    +
    +
    +
    +

    Methods inherited from class javafx.application.Application

    + + +getHostServices, getParameters, getUserAgentStylesheet, init, launch, launch, notifyPreloader, setUserAgentStylesheet, stop
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    + +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      start

      +
      public void start​(javafx.stage.Stage stage) + throws java.lang.Exception
      +
      Starts the graphical user interface
      +
      +
      Specified by:
      +
      start in class javafx.application.Application
      +
      Parameters:
      +
      stage -
      +
      Throws:
      +
      java.lang.Exception
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/ui/TextualUserInterface.html b/javadoc/fr/unantes/software/construction/ui/TextualUserInterface.html new file mode 100644 index 0000000000000000000000000000000000000000..355ac971bdecd81c53f0907b7a1d0cafb36c960a --- /dev/null +++ b/javadoc/fr/unantes/software/construction/ui/TextualUserInterface.html @@ -0,0 +1,478 @@ + + + + + +TextualUserInterface + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class TextualUserInterface

+
+
+
java.lang.Object +
fr.unantes.software.construction.ui.TextualUserInterface
+
+
+
+
public class TextualUserInterface
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    TextualUserInterface() 
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    static voidbalance() +
    Displays the balance for an account.
    +
    static voidclients() +
    Displays the list of the names of clients
    +
    static voidcloseAccount() +
    Processes the close account operation + Message asks for the number of the account to close
    +
    static voidcreateAccount() +
    Processes the create account operation + Messages ask for the name of the owner, the initial balance and overdraft
    +
    static voiddeposit() +
    Processes the deposit operation + Messages ask for the number of the account and the amount to deposit
    +
    static voiddisplayAccounts() +
    Displays the list of accounts in the bank (number, balance and overdraft)
    +
    static voiddisplayAccountsOfClient() +
    Displays the list of accounts of a client + If the client does not exist a message is displayed on the console
    +
    static BankgetBank() 
    static voidhistory() +
    Displays the history for an account.
    +
    static voidmain​(java.lang.String[] args) +
    displays the menu and processes the command while the user doesn't ask for stop
    +
    static voidmenu() +
    Displays the menu to process operations on the bank
    +
    static voidprocess​(int command) +
    Processes the command with the number command
    +
    static intreadInt() +
    reads an integer from the standard input
    +
    static floatreadNumber() +
    reads a float from the standard input
    +
    static voidsetBank​(Bank bankParameter) +
    Sets a new bank
    +
    static voidwithdraw() +
    Processes the withdraw operation + Messages ask for the number of the account and the amount for withdraw
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    + +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      getBank

      +
      public static Bank getBank()
      +
      +
      Returns:
      +
      the current bank
      +
      +
      +
    • +
    • +
      +

      createAccount

      +
      public static void createAccount()
      +
      Processes the create account operation + Messages ask for the name of the owner, the initial balance and overdraft
      +
      +
    • +
    • +
      +

      closeAccount

      +
      public static void closeAccount()
      +
      Processes the close account operation + Message asks for the number of the account to close
      +
      +
    • +
    • +
      +

      deposit

      +
      public static void deposit()
      +
      Processes the deposit operation + Messages ask for the number of the account and the amount to deposit
      +
      +
    • +
    • +
      +

      withdraw

      +
      public static void withdraw()
      +
      Processes the withdraw operation + Messages ask for the number of the account and the amount for withdraw
      +
      +
    • +
    • +
      +

      balance

      +
      public static void balance()
      +
      Displays the balance for an account. + A message asks for the number of the account.
      +
      +
    • +
    • +
      +

      history

      +
      public static void history()
      +
      Displays the history for an account. + A message asks for the number of the account. + If the account with this number does not exist, an error message is displayed
      +
      +
    • +
    • +
      +

      clients

      +
      public static void clients()
      +
      Displays the list of the names of clients
      +
      +
    • +
    • +
      +

      displayAccounts

      +
      public static void displayAccounts()
      +
      Displays the list of accounts in the bank (number, balance and overdraft)
      +
      +
    • +
    • +
      +

      displayAccountsOfClient

      +
      public static void displayAccountsOfClient()
      +
      Displays the list of accounts of a client + If the client does not exist a message is displayed on the console
      +
      +
    • +
    • +
      +

      readInt

      +
      public static int readInt()
      +
      reads an integer from the standard input
      +
      +
    • +
    • +
      +

      readNumber

      +
      public static float readNumber()
      +
      reads a float from the standard input
      +
      +
    • +
    • +
      +

      menu

      +
      public static void menu()
      +
      Displays the menu to process operations on the bank
      +
      +
    • +
    • +
      +

      main

      +
      public static void main​(java.lang.String[] args)
      +
      displays the menu and processes the command while the user doesn't ask for stop
      +
      +
    • +
    • +
      +

      process

      +
      public static void process​(int command)
      +
      Processes the command with the number command
      +
      +
    • +
    • +
      +

      setBank

      +
      public static void setBank​(Bank bankParameter)
      +
      Sets a new bank
      +
      +
      Parameters:
      +
      bankParameter -
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/ui/controller/HomeController.html b/javadoc/fr/unantes/software/construction/ui/controller/HomeController.html new file mode 100644 index 0000000000000000000000000000000000000000..894e5936eb801809836a82c313b9df05a200e7df --- /dev/null +++ b/javadoc/fr/unantes/software/construction/ui/controller/HomeController.html @@ -0,0 +1,204 @@ + + + + + +HomeController + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class HomeController

+
+
+
java.lang.Object +
fr.unantes.software.construction.ui.controller.HomeController
+
+
+
+
public class HomeController
+extends java.lang.Object
+
+
+
    + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    HomeController() 
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Constructor Details

    + +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/ui/controller/LoginController.html b/javadoc/fr/unantes/software/construction/ui/controller/LoginController.html new file mode 100644 index 0000000000000000000000000000000000000000..174f1433acdbc4727c14cc47ae2eecffa9924e54 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/ui/controller/LoginController.html @@ -0,0 +1,380 @@ + + + + + +LoginController + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class LoginController

+
+
+
java.lang.Object +
fr.unantes.software.construction.ui.controller.LoginController
+
+
+
+
All Implemented Interfaces:
+
javafx.fxml.Initializable
+
+
+
public class LoginController
+extends java.lang.Object
+implements javafx.fxml.Initializable
+
+
+
    + +
  • +
    + + +

    Field Summary

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Fields 
    Modifier and TypeFieldDescription
    javafx.scene.control.ButtonbuttonCreate 
    javafx.scene.control.ButtonbuttonLogin 
    javafx.scene.control.LabelerrorText 
    javafx.scene.control.PasswordFieldfieldPassword 
    javafx.scene.control.TextFieldfieldUsername 
    javafx.scene.layout.PaneloginPane 
    +
    +
    +
  • + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    LoginController() 
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    voidinitialize​(java.net.URL url, +java.util.ResourceBundle resourceBundle) +
    Initialize the current controller
    +
    voidsetGraphicUserInterface​(GraphicalUserInterface newValue) +
    associate a GUI to LoginController
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Field Details

    +
      +
    • +
      +

      buttonLogin

      +
      public javafx.scene.control.Button buttonLogin
      +
      +
    • +
    • +
      +

      buttonCreate

      +
      public javafx.scene.control.Button buttonCreate
      +
      +
    • +
    • +
      +

      errorText

      +
      public javafx.scene.control.Label errorText
      +
      +
    • +
    • +
      +

      loginPane

      +
      public javafx.scene.layout.Pane loginPane
      +
      +
    • +
    • +
      +

      fieldUsername

      +
      public javafx.scene.control.TextField fieldUsername
      +
      +
    • +
    • +
      +

      fieldPassword

      +
      public javafx.scene.control.PasswordField fieldPassword
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Constructor Details

    + +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      initialize

      +
      public void initialize​(java.net.URL url, +java.util.ResourceBundle resourceBundle)
      +
      Initialize the current controller
      +
      +
      Specified by:
      +
      initialize in interface javafx.fxml.Initializable
      +
      Parameters:
      +
      url -
      +
      resourceBundle -
      +
      +
      +
    • +
    • +
      +

      setGraphicUserInterface

      +
      public void setGraphicUserInterface​(GraphicalUserInterface newValue)
      +
      associate a GUI to LoginController
      +
      +
      Parameters:
      +
      newValue -
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/ui/controller/NewClientController.html b/javadoc/fr/unantes/software/construction/ui/controller/NewClientController.html new file mode 100644 index 0000000000000000000000000000000000000000..b342275ddfcfea422a83f4eb65ded6cfa257eaf2 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/ui/controller/NewClientController.html @@ -0,0 +1,384 @@ + + + + + +NewClientController + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +

Class NewClientController

+
+
+
java.lang.Object +
fr.unantes.software.construction.ui.controller.NewClientController
+
+
+
+
All Implemented Interfaces:
+
javafx.fxml.Initializable
+
+
+
public class NewClientController
+extends java.lang.Object
+implements javafx.fxml.Initializable
+
+
+
    + +
  • +
    + + +

    Field Summary

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Fields 
    Modifier and TypeFieldDescription
    javafx.scene.control.ButtonbackButton 
    javafx.scene.control.RadioButtoncompanyRadio 
    javafx.scene.layout.PanecreatePane 
    javafx.scene.control.LabelerrorText 
    javafx.scene.control.PasswordFieldfieldPassword 
    javafx.scene.control.TextFieldfieldUsername 
    javafx.scene.control.RadioButtonprivateRadio 
    javafx.scene.control.ButtonvalidateButton 
    +
    +
    +
  • + +
  • +
    + + +

    Constructor Summary

    +
    + + + + + + + + + + + + + + +
    Constructors 
    ConstructorDescription
    NewClientController() 
    +
    +
    +
  • + +
  • +
    + + +

    Method Summary

    +
    +
    +
    + + + + + + + + + + + + + + + +
    Modifier and TypeMethodDescription
    voidinitialize​(java.net.URL url, +java.util.ResourceBundle resourceBundle) +
    Initialize the current controller
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    + + +clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    + + +

    Field Details

    +
      +
    • +
      +

      validateButton

      +
      public javafx.scene.control.Button validateButton
      +
      +
    • +
    • +
      +

      backButton

      +
      public javafx.scene.control.Button backButton
      +
      +
    • +
    • +
      +

      errorText

      +
      public javafx.scene.control.Label errorText
      +
      +
    • +
    • +
      +

      createPane

      +
      public javafx.scene.layout.Pane createPane
      +
      +
    • +
    • +
      +

      fieldUsername

      +
      public javafx.scene.control.TextField fieldUsername
      +
      +
    • +
    • +
      +

      fieldPassword

      +
      public javafx.scene.control.PasswordField fieldPassword
      +
      +
    • +
    • +
      +

      privateRadio

      +
      public javafx.scene.control.RadioButton privateRadio
      +
      +
    • +
    • +
      +

      companyRadio

      +
      public javafx.scene.control.RadioButton companyRadio
      +
      +
    • +
    +
    +
  • + +
  • +
    + + +

    Constructor Details

    + +
    +
  • + +
  • +
    + + +

    Method Details

    +
      +
    • +
      +

      initialize

      +
      public void initialize​(java.net.URL url, +java.util.ResourceBundle resourceBundle)
      +
      Initialize the current controller
      +
      +
      Specified by:
      +
      initialize in interface javafx.fxml.Initializable
      +
      Parameters:
      +
      url -
      +
      resourceBundle -
      +
      +
      +
    • +
    +
    +
  • +
+
+
+
+ + + + diff --git a/javadoc/fr/unantes/software/construction/ui/controller/package-summary.html b/javadoc/fr/unantes/software/construction/ui/controller/package-summary.html new file mode 100644 index 0000000000000000000000000000000000000000..cbcee21f489564114cf8c3ed7777555843b0caa7 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/ui/controller/package-summary.html @@ -0,0 +1,130 @@ + + + + + +fr.unantes.software.construction.ui.controller + + + + + + + + + + + + + + + + +
+ +
+
+
+

Package fr.unantes.software.construction.ui.controller

+
+
+
+ +
+
+
+ + + diff --git a/javadoc/fr/unantes/software/construction/ui/controller/package-tree.html b/javadoc/fr/unantes/software/construction/ui/controller/package-tree.html new file mode 100644 index 0000000000000000000000000000000000000000..80d2898a31e2f4284d37beafccf8658260ccaabd --- /dev/null +++ b/javadoc/fr/unantes/software/construction/ui/controller/package-tree.html @@ -0,0 +1,115 @@ + + + + + +fr.unantes.software.construction.ui.controller Class Hierarchy + + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package fr.unantes.software.construction.ui.controller

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • fr.unantes.software.construction.ui.controller.HomeController
    • +
    • fr.unantes.software.construction.ui.controller.LoginController (implements javafx.fxml.Initializable)
    • +
    • fr.unantes.software.construction.ui.controller.NewClientController (implements javafx.fxml.Initializable)
    • +
    +
  • +
+
+
+
+ + + diff --git a/javadoc/fr/unantes/software/construction/ui/package-summary.html b/javadoc/fr/unantes/software/construction/ui/package-summary.html new file mode 100644 index 0000000000000000000000000000000000000000..1d74fea5eb3080ca0ef4f7399d108119f2e17c51 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/ui/package-summary.html @@ -0,0 +1,126 @@ + + + + + +fr.unantes.software.construction.ui + + + + + + + + + + + + + + + + +
+ +
+
+
+

Package fr.unantes.software.construction.ui

+
+
+
+ +
+
+
+ + + diff --git a/javadoc/fr/unantes/software/construction/ui/package-tree.html b/javadoc/fr/unantes/software/construction/ui/package-tree.html new file mode 100644 index 0000000000000000000000000000000000000000..87cd5ae18b6a7c84d20ffd0375c608d0d22e5633 --- /dev/null +++ b/javadoc/fr/unantes/software/construction/ui/package-tree.html @@ -0,0 +1,118 @@ + + + + + +fr.unantes.software.construction.ui Class Hierarchy + + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package fr.unantes.software.construction.ui

+Package Hierarchies: + +
+
+
+

Class Hierarchy

+ +
+
+
+ + + diff --git a/javadoc/help-doc.html b/javadoc/help-doc.html new file mode 100644 index 0000000000000000000000000000000000000000..8f0cb8d22510d191995df4e607baeb9652f1c537 --- /dev/null +++ b/javadoc/help-doc.html @@ -0,0 +1,212 @@ + + + + + +API Help + + + + + + + + + + + + + + + + +
+ +
+
+
+

How This API Document Is Organized

+
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+
+
+
    +
  • +
    +

    Overview

    +

    The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

    +
    +
  • +
  • +
    +

    Package

    +

    Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain six categories:

    +
      +
    • Interfaces
    • +
    • Classes
    • +
    • Enums
    • +
    • Exceptions
    • +
    • Errors
    • +
    • Annotation Types
    • +
    +
    +
  • +
  • +
    +

    Class or Interface

    +

    Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    +
      +
    • Class Inheritance Diagram
    • +
    • Direct Subclasses
    • +
    • All Known Subinterfaces
    • +
    • All Known Implementing Classes
    • +
    • Class or Interface Declaration
    • +
    • Class or Interface Description
    • +
    +
    +
      +
    • Nested Class Summary
    • +
    • Field Summary
    • +
    • Property Summary
    • +
    • Constructor Summary
    • +
    • Method Summary
    • +
    +
    +
      +
    • Field Details
    • +
    • Property Details
    • +
    • Constructor Details
    • +
    • Method Details
    • +
    +

    Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

    +
    +
  • +
  • +
    +

    Annotation Type

    +

    Each annotation type has its own separate page with the following sections:

    +
      +
    • Annotation Type Declaration
    • +
    • Annotation Type Description
    • +
    • Required Element Summary
    • +
    • Optional Element Summary
    • +
    • Element Details
    • +
    +
    +
  • +
  • +
    +

    Enum

    +

    Each enum has its own separate page with the following sections:

    +
      +
    • Enum Declaration
    • +
    • Enum Description
    • +
    • Enum Constant Summary
    • +
    • Enum Constant Details
    • +
    +
    +
  • +
  • +
    +

    Tree (Class Hierarchy)

    +

    There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

    +
      +
    • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
    • +
    • When viewing a particular package, class or interface page, clicking on "Tree" displays the hierarchy for only that package.
    • +
    +
    +
  • +
  • +
    +

    Index

    +

    The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields, as well as lists of all packages and all classes.

    +
    +
  • +
  • +
    +

    Serialized Form

    +

    Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.

    +
    +
  • +
  • +
    +

    Constant Field Values

    +

    The Constant Field Values page lists the static final fields and their values.

    +
    +
  • +
  • +
    +

    Search

    +

    You can search for definitions of modules, packages, types, fields, methods and other terms defined in the API, using some or all of the name. "Camel-case" abbreviations are supported: for example, "InpStr" will find "InputStream" and "InputStreamReader".

    +
    +
  • +
+
+This help file applies to API documentation generated by the standard doclet.
+
+ + + diff --git a/javadoc/index-files/index-1.html b/javadoc/index-files/index-1.html new file mode 100644 index 0000000000000000000000000000000000000000..bca8c80dfd5636bde8a2d50dc9ecf425c6a4b5d4 --- /dev/null +++ b/javadoc/index-files/index-1.html @@ -0,0 +1,188 @@ + + + + + +A-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

A

+
+
Account - Class in fr.unantes.software.construction
+
 
+
Account(Client, float, float) - Constructor for class fr.unantes.software.construction.Account
+
+
Initializes the owners, amount, overdraft and the account id with parameters + If the owners is not null, add a bidirectional association between the account and its owners
+
+
AccountNumberDoesNotExistException - Exception in fr.unantes.software.construction
+
 
+
AccountNumberDoesNotExistException() - Constructor for exception fr.unantes.software.construction.AccountNumberDoesNotExistException
+
+
Constructs an empty Exception
+
+
AccountNumberDoesNotExistException(String) - Constructor for exception fr.unantes.software.construction.AccountNumberDoesNotExistException
+
+
Throws an exception with a message
+
+
accountsIterator() - Method in class fr.unantes.software.construction.Bank
+
 
+
accountsSize() - Method in class fr.unantes.software.construction.Bank
+
 
+
accountsToArray() - Method in class fr.unantes.software.construction.Bank
+
 
+
add(T) - Method in class fr.unantes.software.construction.address.ListWrapper
+
 
+
add(T) - Method in class fr.unantes.software.construction.references.ManyToOneReference
+
+
Add a new target to the list + Unset the targets previous reference is there was any
+
+
add(T) - Method in class fr.unantes.software.construction.references.MultipleReference
+
+
add a new target to the list
+
+
addAccount(Account) - Method in class fr.unantes.software.construction.Client
+
+
Add bidirectional association between the current client an accounts
+
+
addAccount(String, float, float, String) - Method in class fr.unantes.software.construction.Bank
+
+
Creates an account for the person named name.
+
+
addAccounts(Account) - Method in class fr.unantes.software.construction.Bank
+
+
Add a new account to the bank
+
+
addClients(Client) - Method in class fr.unantes.software.construction.Bank
+
+
Add a client to the bank
+
+
addHistory(Operation) - Method in class fr.unantes.software.construction.Account
+
+
Adds a reference between an operation and the current account
+
+
addOwner(Client) - Method in class fr.unantes.software.construction.Account
+
+
Add an owner to the current account
+
+
Address - Class in fr.unantes.software.construction.address
+
 
+
Address(Integer, String, City, Integer, String) - Constructor for class fr.unantes.software.construction.address.Address
+
+
Constructor
+
+
AddressBook - Class in fr.unantes.software.construction.address
+
 
+
AddressBook() - Constructor for class fr.unantes.software.construction.address.AddressBook
+
+
Construct empty address book + Initialize the card's list
+
+
AddressBook(String, ListWrapper) - Constructor for class fr.unantes.software.construction.address.AddressBook
+
+
Constructs the address book + Initialize the card's list and add cards to it
+
+
addresses - Variable in class fr.unantes.software.construction.address.Card
+
+
List of addresses associated with card
+
+
addUser(Client, String) - Method in class fr.unantes.software.construction.security.ClientController
+
+
Add a new user to the manager
+
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-10.html b/javadoc/index-files/index-10.html new file mode 100644 index 0000000000000000000000000000000000000000..fe83de3b30ecd43f1514c2dca08d1e59bbc63208 --- /dev/null +++ b/javadoc/index-files/index-10.html @@ -0,0 +1,135 @@ + + + + + +L-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

L

+
+
ListWrapper<T> - Class in fr.unantes.software.construction.address
+
+
Issues #12 + all classes called FooList have the same methods and could be replace + with a simple List<Foo> + + Tests have been made for the original classes FooList and thus can be used for + non-regression testing + + This class is used as an adapter to translate the methods of the java ArrayList to FooList, + so that Tests can then be run using a List<Foo> and validate that the behavior + stay the same.
+
+
ListWrapper() - Constructor for class fr.unantes.software.construction.address.ListWrapper
+
+
Empty constructor
+
+
ListWrapper(ListWrapper<T>) - Constructor for class fr.unantes.software.construction.address.ListWrapper
+
+
Copy constructor
+
+
locality - Variable in class fr.unantes.software.construction.address.Address
+
+
Locality where the address is, if any
+
+
LoginController - Class in fr.unantes.software.construction.ui.controller
+
 
+
LoginController() - Constructor for class fr.unantes.software.construction.ui.controller.LoginController
+
 
+
loginPane - Variable in class fr.unantes.software.construction.ui.controller.LoginController
+
 
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-11.html b/javadoc/index-files/index-11.html new file mode 100644 index 0000000000000000000000000000000000000000..a32019413e5ef4437eba43b6492863fd4a643c8f --- /dev/null +++ b/javadoc/index-files/index-11.html @@ -0,0 +1,163 @@ + + + + + +M-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

M

+
+
Mail - Class in fr.unantes.software.construction.address
+
 
+
Mail(String, String) - Constructor for class fr.unantes.software.construction.address.Mail
+
+
Constructor
+
+
main(String[]) - Static method in class fr.unantes.software.construction.Main
+
+
Launch the Graphical User Inteface
+
+
main(String[]) - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
displays the menu and processes the command while the user doesn't ask for stop
+
+
Main - Class in fr.unantes.software.construction
+
 
+
Main() - Constructor for class fr.unantes.software.construction.Main
+
 
+
ManyToOneReference<C,​T> - Class in fr.unantes.software.construction.references
+
 
+
ManyToOneReference(C) - Constructor for class fr.unantes.software.construction.references.ManyToOneReference
+
+
Constructs the reference with its container
+
+
menu() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
Displays the menu to process operations on the bank
+
+
merge(AddressBook, String) - Method in class fr.unantes.software.construction.address.AddressBook
+
+
Merge two address books into a new one
+
+
merge(Group) - Method in class fr.unantes.software.construction.address.Group
+
+
Merge two groups into a new one if they share the same name + If the first one does not have comment, merge using the second one
+
+
merge(ListWrapper<T>) - Method in class fr.unantes.software.construction.address.ListWrapper
+
+
Iterate on otherlist to add each element one by one to this ListOf
+
+
merge(Mail) - Method in class fr.unantes.software.construction.address.Mail
+
+
Merge two mails + If current home mail is empty, merge using the second home mail + If current work mail is empty, merge using the second work mail
+
+
merge(Phone) - Method in class fr.unantes.software.construction.address.Phone
+
+
Merge two phones if they have the same number + Check if the first one has comment + If not, merge using the comment of the second phone
+
+
MultipleReference<C,​T> - Class in fr.unantes.software.construction.references
+
 
+
MultipleReference(C) - Constructor for class fr.unantes.software.construction.references.MultipleReference
+
+
Constructs the reference with its container
+
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-12.html b/javadoc/index-files/index-12.html new file mode 100644 index 0000000000000000000000000000000000000000..aef8204112205234e09e20dd721a79d598a2f98f --- /dev/null +++ b/javadoc/index-files/index-12.html @@ -0,0 +1,112 @@ + + + + + +N-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

N

+
+
name - Variable in class fr.unantes.software.construction.address.Group
+
+
The name of the group
+
+
NewClientController - Class in fr.unantes.software.construction.ui.controller
+
 
+
NewClientController() - Constructor for class fr.unantes.software.construction.ui.controller.NewClientController
+
 
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-13.html b/javadoc/index-files/index-13.html new file mode 100644 index 0000000000000000000000000000000000000000..4ea7cfa6c1b8d931651811f30525166ac9bbc94a --- /dev/null +++ b/javadoc/index-files/index-13.html @@ -0,0 +1,124 @@ + + + + + +O-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

O

+
+
OneToManyReference<C,​T> - Class in fr.unantes.software.construction.references
+
 
+
OneToManyReference(C) - Constructor for class fr.unantes.software.construction.references.OneToManyReference
+
+
Constructs the reference with its container
+
+
Operation - Class in fr.unantes.software.construction
+
 
+
Operation(float, LocalDateTime) - Constructor for class fr.unantes.software.construction.Operation
+
+
Constructs an operation with its amount and date
+
+
oppositeFor(T) - Method in class fr.unantes.software.construction.references.ManyToOneReference
+
 
+
oppositeFor(T) - Method in class fr.unantes.software.construction.references.MultipleReference
+
 
+
oppositeFor(T) - Method in class fr.unantes.software.construction.references.OneToManyReference
+
 
+
oppositeFor(T) - Method in class fr.unantes.software.construction.references.SingleReference
+
 
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-14.html b/javadoc/index-files/index-14.html new file mode 100644 index 0000000000000000000000000000000000000000..2d5b3799b53029a30e23b9f1706a48f7d63d7527 --- /dev/null +++ b/javadoc/index-files/index-14.html @@ -0,0 +1,151 @@ + + + + + +P-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

P

+
+
PasswordManager - Class in fr.unantes.software.construction.security
+
 
+
PasswordManager() - Constructor for class fr.unantes.software.construction.security.PasswordManager
+
 
+
Phone - Class in fr.unantes.software.construction.address
+
 
+
Phone(Integer, String) - Constructor for class fr.unantes.software.construction.address.Phone
+
+
Constructor
+
+
phoneNumber - Variable in class fr.unantes.software.construction.address.Phone
+
+
The phone number
+
+
PrivateAddress - Class in fr.unantes.software.construction.address
+
 
+
PrivateAddress(Integer, String, City, int, String) - Constructor for class fr.unantes.software.construction.address.PrivateAddress
+
+
Calls superclass to construct the private address
+
+
PrivateCard - Class in fr.unantes.software.construction.address
+
 
+
PrivateCard(PrivateClient) - Constructor for class fr.unantes.software.construction.address.PrivateCard
+
+
Calls the superclass constructor + Sets the owner of the card
+
+
PrivateClient - Class in fr.unantes.software.construction
+
 
+
PrivateClient(String) - Constructor for class fr.unantes.software.construction.PrivateClient
+
+
calls the super constructor with the username
+
+
PrivateClient(String, String) - Constructor for class fr.unantes.software.construction.PrivateClient
+
+
calls the super constructor with the username and set only the last name
+
+
PrivateClient(String, String, String) - Constructor for class fr.unantes.software.construction.PrivateClient
+
+
calls the super constructor with the username and set both the first an last name
+
+
privateRadio - Variable in class fr.unantes.software.construction.ui.controller.NewClientController
+
 
+
process(int) - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
Processes the command with the number command
+
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-15.html b/javadoc/index-files/index-15.html new file mode 100644 index 0000000000000000000000000000000000000000..c60ffc5dbc1700c538411204c943c66b3421d2fe --- /dev/null +++ b/javadoc/index-files/index-15.html @@ -0,0 +1,144 @@ + + + + + +R-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

R

+
+
readInt() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
reads an integer from the standard input
+
+
readNumber() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
reads a float from the standard input
+
+
Reference - Interface in fr.unantes.software.construction.references
+
 
+
remove(T) - Method in class fr.unantes.software.construction.references.ManyToOneReference
+
+
Remove a target from the list of targets + Unset the opposite reference
+
+
remove(T) - Method in class fr.unantes.software.construction.references.MultipleReference
+
+
Remove a target from the list of targets + Unset the opposite reference
+
+
removeAccount(Account) - Method in class fr.unantes.software.construction.Client
+
+
Remove a bidirectional association with an account
+
+
removeAccounts(Account) - Method in class fr.unantes.software.construction.Bank
+
+
Remove an account to the bank
+
+
removeClients(Client) - Method in class fr.unantes.software.construction.Bank
+
+
Remove a client from the bank
+
+
removeOwner(Client) - Method in class fr.unantes.software.construction.Account
+
+
Remove an owner of the account if it exists
+
+
removeUser(Client) - Method in class fr.unantes.software.construction.security.ClientController
+
+
Remove a user from the manager
+
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-16.html b/javadoc/index-files/index-16.html new file mode 100644 index 0000000000000000000000000000000000000000..6e0ce7317e42aa8b97fe77e663ae2803dca5f638 --- /dev/null +++ b/javadoc/index-files/index-16.html @@ -0,0 +1,284 @@ + + + + + +S-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

S

+
+
sameNumberAs(Phone) - Method in class fr.unantes.software.construction.address.Phone
+
+
Check whether or not two phones has the same number
+
+
set(List<T>) - Method in class fr.unantes.software.construction.address.ListWrapper
+
 
+
set(T) - Method in class fr.unantes.software.construction.references.OneToManyReference
+
+
Sets a new target + Unset the previous one if there was any
+
+
set(T) - Method in class fr.unantes.software.construction.references.SingleReference
+
+
Sets a new target + Unset the previous one if there was any
+
+
setAccount(Account) - Method in class fr.unantes.software.construction.Operation
+
+
Set a bidirectional association between an operation and an account
+
+
setAccountNumbers(int) - Method in class fr.unantes.software.construction.Bank
+
+
Sets a new number of accounts in the bank
+
+
setAccounts(Account[]) - Method in class fr.unantes.software.construction.Client
+
+
Set bidirectional association between the current client and several accounts
+
+
setAccounts(List<Account>) - Method in class fr.unantes.software.construction.Bank
+
+
Sets a new list of accounts to the bank
+
+
setAddress(Address) - Method in class fr.unantes.software.construction.Client
+
+
Sets the bidirectional association between the client and an address
+
+
setAddresses(ListWrapper<Address>) - Method in class fr.unantes.software.construction.address.Card
+
+
Add several addresses to the current list
+
+
setBalance(float) - Method in class fr.unantes.software.construction.Account
+
+
Sets a new balance if it's over the overdraft
+
+
setBank(Bank) - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
Sets a new bank
+
+
setCards(ListWrapper<Card>) - Method in class fr.unantes.software.construction.address.AddressBook
+
+
Sets card list with new value
+
+
setCity(City) - Method in class fr.unantes.software.construction.address.Address
+
+
Set the name of the city
+
+
setClients(List<Client>) - Method in class fr.unantes.software.construction.Bank
+
+
Sets a new list of clients
+
+
setComment(String) - Method in class fr.unantes.software.construction.address.Group
+
+
Set the comment with a new value
+
+
setComment(String) - Method in class fr.unantes.software.construction.address.Phone
+
+
Set the comment with a new value
+
+
setCompanyName(String) - Method in class fr.unantes.software.construction.address.CompanyCard
+
+
Sets name of the company owning the card
+
+
setCompanyName(String) - Method in class fr.unantes.software.construction.CompanyClient
+
+
Set the name of the company with current value
+
+
setCountry(String) - Method in class fr.unantes.software.construction.address.City
+
+
Sets the name of the country
+
+
setFirstName(String) - Method in class fr.unantes.software.construction.PrivateClient
+
+
Set the first name of the client with the current value
+
+
setGraphicUserInterface(GraphicalUserInterface) - Method in class fr.unantes.software.construction.ui.controller.LoginController
+
+
associate a GUI to LoginController
+
+
setGroups(ListWrapper<Group>) - Method in class fr.unantes.software.construction.address.Card
+
+
Set a new list of groups
+
+
setHome(String) - Method in class fr.unantes.software.construction.address.Mail
+
+
Set home mail with a new value
+
+
setLastName(String) - Method in class fr.unantes.software.construction.PrivateClient
+
+
Set the last name of the client with the current value
+
+
setLocality(String) - Method in class fr.unantes.software.construction.address.Address
+
+
Set the locality
+
+
setLocality(String) - Method in class fr.unantes.software.construction.address.PrivateAddress
+
+
Sets the locality of the address
+
+
setMails(ListWrapper<Mail>) - Method in class fr.unantes.software.construction.address.Card
+
+
Set a new list of mails
+
+
setName(String) - Method in class fr.unantes.software.construction.address.AddressBook
+
+
Set the name of the address book
+
+
setName(String) - Method in class fr.unantes.software.construction.address.City
+
+
Sets the name of the city
+
+
setName(String) - Method in class fr.unantes.software.construction.address.Group
+
+
Sets the name of the group with a new value
+
+
setOverdraft(float) - Method in class fr.unantes.software.construction.Account
+
+
Set the overdraft with a new value
+
+
setPhoneNumber(Integer) - Method in class fr.unantes.software.construction.address.Phone
+
+
Set the phone number with a new value
+
+
setPhones(ListWrapper<Phone>) - Method in class fr.unantes.software.construction.address.Card
+
+
Set a new list of phones
+
+
setSector(String) - Method in class fr.unantes.software.construction.address.CompanyAddress
+
+
Set the sector of the company
+
+
setStreet(String) - Method in class fr.unantes.software.construction.address.Address
+
+
Set the name of the street
+
+
setStreetNumber(Integer) - Method in class fr.unantes.software.construction.address.Address
+
+
Set the number of the street
+
+
setWork(String) - Method in class fr.unantes.software.construction.address.Mail
+
+
Set work mail with new value
+
+
setZipCode(Integer) - Method in class fr.unantes.software.construction.address.Address
+
+
Set the zip code
+
+
SingleReference<C,​T> - Class in fr.unantes.software.construction.references
+
 
+
SingleReference(C) - Constructor for class fr.unantes.software.construction.references.SingleReference
+
+
Constructs the reference with its container
+
+
size() - Method in class fr.unantes.software.construction.address.ListWrapper
+
 
+
size() - Method in class fr.unantes.software.construction.references.ManyToOneReference
+
 
+
size() - Method in class fr.unantes.software.construction.references.MultipleReference
+
 
+
start(Stage) - Method in class fr.unantes.software.construction.ui.GraphicalUserInterface
+
+
Starts the graphical user interface
+
+
streetName - Variable in class fr.unantes.software.construction.address.Address
+
+
name of the street
+
+
streetNumber - Variable in class fr.unantes.software.construction.address.Address
+
+
number of the street
+
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-17.html b/javadoc/index-files/index-17.html new file mode 100644 index 0000000000000000000000000000000000000000..14161e9e848e7c1b6072e7b34e7de12df44b115b --- /dev/null +++ b/javadoc/index-files/index-17.html @@ -0,0 +1,140 @@ + + + + + +T-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

T

+
+
TextualUserInterface - Class in fr.unantes.software.construction.ui
+
 
+
TextualUserInterface() - Constructor for class fr.unantes.software.construction.ui.TextualUserInterface
+
 
+
toString() - Method in class fr.unantes.software.construction.address.Address
+
 
+
toString() - Method in class fr.unantes.software.construction.address.CompanyAddress
+
 
+
toString() - Method in class fr.unantes.software.construction.address.ListWrapper
+
 
+
toString() - Method in class fr.unantes.software.construction.address.Mail
+
 
+
toString() - Method in class fr.unantes.software.construction.address.PrivateAddress
+
 
+
toXML() - Method in class fr.unantes.software.construction.address.Address
+
 
+
toXML() - Method in class fr.unantes.software.construction.address.AddressBook
+
 
+
toXML() - Method in class fr.unantes.software.construction.address.Card
+
 
+
toXML() - Method in class fr.unantes.software.construction.address.CompanyAddress
+
 
+
toXML() - Method in class fr.unantes.software.construction.address.CompanyCard
+
 
+
toXML() - Method in class fr.unantes.software.construction.address.Group
+
 
+
toXML() - Method in class fr.unantes.software.construction.address.ListWrapper
+
 
+
toXML() - Method in class fr.unantes.software.construction.address.Mail
+
 
+
toXML() - Method in class fr.unantes.software.construction.address.Phone
+
 
+
toXML() - Method in class fr.unantes.software.construction.address.PrivateAddress
+
 
+
toXML() - Method in class fr.unantes.software.construction.address.PrivateCard
+
 
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-18.html b/javadoc/index-files/index-18.html new file mode 100644 index 0000000000000000000000000000000000000000..7e9b2aeb5ef2deb288921201bfb953311f717460 --- /dev/null +++ b/javadoc/index-files/index-18.html @@ -0,0 +1,116 @@ + + + + + +U-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

U

+
+
unset() - Method in class fr.unantes.software.construction.references.OneToManyReference
+
+
Unset the current target if there is any
+
+
unset() - Method in interface fr.unantes.software.construction.references.Reference
+
+
Sets the current reference to null
+
+
unset() - Method in class fr.unantes.software.construction.references.SingleReference
+
+
Unset the current target if there is any
+
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-19.html b/javadoc/index-files/index-19.html new file mode 100644 index 0000000000000000000000000000000000000000..8f32301191dbe0fff51408eaf46daa2c0fab2b7f --- /dev/null +++ b/javadoc/index-files/index-19.html @@ -0,0 +1,118 @@ + + + + + +V-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

V

+
+
validate(String, String) - Method in class fr.unantes.software.construction.security.PasswordManager
+
+
Check if the encoded password matchs the clear one
+
+
validateButton - Variable in class fr.unantes.software.construction.ui.controller.NewClientController
+
 
+
validateNewPassword(String) - Method in class fr.unantes.software.construction.security.PasswordManager
+
+
Check if the password is over the minimal size
+
+
validatePassword(Client, String) - Method in class fr.unantes.software.construction.security.ClientController
+
+
Valid a password
+
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-2.html b/javadoc/index-files/index-2.html new file mode 100644 index 0000000000000000000000000000000000000000..d06551de3ad9a0f194a81c76e7d1e90b99e041e7 --- /dev/null +++ b/javadoc/index-files/index-2.html @@ -0,0 +1,145 @@ + + + + + +B-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

B

+
+
backButton - Variable in class fr.unantes.software.construction.ui.controller.NewClientController
+
 
+
balance() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
Displays the balance for an account.
+
+
Bank - Class in fr.unantes.software.construction
+
 
+
Bank() - Constructor for class fr.unantes.software.construction.Bank
+
+
this constructor initializes the attributes : accountNumbers is initially 0, + accounts and clients and initialized with new empty Lists
+
+
basicAdd(T) - Method in class fr.unantes.software.construction.references.ManyToOneReference
+
+
Add a value to the list of targets
+
+
basicAdd(T) - Method in class fr.unantes.software.construction.references.MultipleReference
+
+
Remove a value to the list of targets
+
+
basicRemove(T) - Method in class fr.unantes.software.construction.references.ManyToOneReference
+
+
Remove a value to the list of targets
+
+
basicRemove(T) - Method in class fr.unantes.software.construction.references.MultipleReference
+
+
Add a value to the list of targets
+
+
basicSet(T) - Method in class fr.unantes.software.construction.references.OneToManyReference
+
+
Sets the target attribute with current value
+
+
basicUnset() - Method in class fr.unantes.software.construction.references.OneToManyReference
+
+
Sets the target attribute to null
+
+
buttonCreate - Variable in class fr.unantes.software.construction.ui.controller.LoginController
+
 
+
buttonLogin - Variable in class fr.unantes.software.construction.ui.controller.LoginController
+
 
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-20.html b/javadoc/index-files/index-20.html new file mode 100644 index 0000000000000000000000000000000000000000..aacb45537205d441ae3996a14ac75f8ccde3ac5d --- /dev/null +++ b/javadoc/index-files/index-20.html @@ -0,0 +1,127 @@ + + + + + +W-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

W

+
+
withdraw() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
Processes the withdraw operation + Messages ask for the number of the account and the amount for withdraw
+
+
withdraw(float) - Method in class fr.unantes.software.construction.Account
+
+
If the amount is greater or equal to the balance, withdraws the amount + If the amount is lower than the balance and greater than the overdraft, + withdraws the amount and throws an exception to warn that the balance is negative + If the amount is lower than the overdraft, + the amount is not withdrawn and exception is thrown to indicate that there is not enough credit.
+
+
withdraw(int, float) - Method in class fr.unantes.software.construction.Bank
+
+
Withdraws the amount from the account number accountNumber
+
+
WithdrawOperation - Class in fr.unantes.software.construction
+
 
+
WithdrawOperation(float, LocalDateTime) - Constructor for class fr.unantes.software.construction.WithdrawOperation
+
+
calls the super constructor with the amount and dateTime
+
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-21.html b/javadoc/index-files/index-21.html new file mode 100644 index 0000000000000000000000000000000000000000..dc65ff3ae4f6013b83baef2512210ea1042bfe52 --- /dev/null +++ b/javadoc/index-files/index-21.html @@ -0,0 +1,108 @@ + + + + + +Z-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

Z

+
+
zipCode - Variable in class fr.unantes.software.construction.address.Address
+
+
Zip code of the area
+
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-3.html b/javadoc/index-files/index-3.html new file mode 100644 index 0000000000000000000000000000000000000000..7b4d22a4ef513c07056db4969fc6df4a7c8725b8 --- /dev/null +++ b/javadoc/index-files/index-3.html @@ -0,0 +1,243 @@ + + + + + +C-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

C

+
+
Card - Class in fr.unantes.software.construction.address
+
 
+
Card(Client) - Constructor for class fr.unantes.software.construction.address.Card
+
+
Constructs a dard associated to a client
+
+
city - Variable in class fr.unantes.software.construction.address.Address
+
+
City where the address is
+
+
City - Class in fr.unantes.software.construction.address
+
+
A city
+
+
City(String, String) - Constructor for class fr.unantes.software.construction.address.City
+
+
Constructs a city with country
+
+
clearAccounts() - Method in class fr.unantes.software.construction.Bank
+
+
Remove each accounts currently existing in the bank
+
+
clearAccounts() - Method in class fr.unantes.software.construction.Client
+
+
Remove each associations existing between the client and its accounts if there is
+
+
clearClients() - Method in class fr.unantes.software.construction.Bank
+
+
Remove each clients currently in the bank
+
+
client - Variable in class fr.unantes.software.construction.address.Card
+
 
+
Client - Class in fr.unantes.software.construction
+
 
+
Client(String) - Constructor for class fr.unantes.software.construction.Client
+
+
Constructs a client using an username
+
+
ClientController - Class in fr.unantes.software.construction.security
+
 
+
ClientController() - Constructor for class fr.unantes.software.construction.security.ClientController
+
+
ClientController initialization
+
+
clients() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
Displays the list of the names of clients
+
+
clientsIterator() - Method in class fr.unantes.software.construction.Bank
+
 
+
clientsSize() - Method in class fr.unantes.software.construction.Bank
+
 
+
clientsToArray() - Method in class fr.unantes.software.construction.Bank
+
 
+
closeAccount() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
Processes the close account operation + Message asks for the number of the account to close
+
+
closeAccount(int) - Method in class fr.unantes.software.construction.Bank
+
+
Closes the account number accountNumber.
+
+
comment - Variable in class fr.unantes.software.construction.address.Group
+
+
A comment associated with this group
+
+
comment - Variable in class fr.unantes.software.construction.address.Phone
+
+
A comment associated with this phone
+
+
CompanyAddress - Class in fr.unantes.software.construction.address
+
+
Cette Classe permet de fabriquer un objet Adresse.
+
+
CompanyAddress(Integer, String, City, int, String, String) - Constructor for class fr.unantes.software.construction.address.CompanyAddress
+
+
Constructs the address of the company
+
+
CompanyCard - Class in fr.unantes.software.construction.address
+
 
+
CompanyCard(CompanyClient) - Constructor for class fr.unantes.software.construction.address.CompanyCard
+
+
Calls the superclass constructor + Sets the company name
+
+
CompanyClient - Class in fr.unantes.software.construction
+
 
+
CompanyClient(String) - Constructor for class fr.unantes.software.construction.CompanyClient
+
+
calls the super constructor with the username
+
+
CompanyClient(String, String) - Constructor for class fr.unantes.software.construction.CompanyClient
+
+
calls the super constructor with the username and set the companyName
+
+
companyName - Variable in class fr.unantes.software.construction.address.CompanyCard
+
+
the username of the company that owns the card
+
+
companyRadio - Variable in class fr.unantes.software.construction.ui.controller.NewClientController
+
 
+
contains(T) - Method in class fr.unantes.software.construction.address.ListWrapper
+
 
+
contains(T) - Method in class fr.unantes.software.construction.references.ManyToOneReference
+
+
Check whether or not a value is referenced
+
+
contains(T) - Method in class fr.unantes.software.construction.references.MultipleReference
+
+
Check whether or not a value is referenced
+
+
containsAccount(Account) - Method in class fr.unantes.software.construction.Client
+
+
Check whether or not an account is associated with the current client
+
+
containsAccounts(Account) - Method in class fr.unantes.software.construction.Bank
+
+
Check whether or not the account exists in the bank
+
+
containsAllAccounts(List<Account>) - Method in class fr.unantes.software.construction.Bank
+
+
Chack whether or not a list of account exists in the bank
+
+
containsAllClients(List<Client>) - Method in class fr.unantes.software.construction.Bank
+
+
Check whether or not multiple clients are arts of the bank
+
+
containsClients(Client) - Method in class fr.unantes.software.construction.Bank
+
+
Check whether or not a client is part of the bank
+
+
createAccount() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
Processes the create account operation + Messages ask for the name of the owner, the initial balance and overdraft
+
+
createPane - Variable in class fr.unantes.software.construction.ui.controller.NewClientController
+
 
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-4.html b/javadoc/index-files/index-4.html new file mode 100644 index 0000000000000000000000000000000000000000..7d9430701d3b2943030e1fd7c8f1f03cd5be509e --- /dev/null +++ b/javadoc/index-files/index-4.html @@ -0,0 +1,138 @@ + + + + + +D-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

D

+
+
delegateMerge(ListWrapper<T>) - Method in class fr.unantes.software.construction.address.ListWrapper
+
+
Delegate the merge to the methods of java.util.List, but it may have duplicates
+
+
delete(T) - Method in class fr.unantes.software.construction.address.ListWrapper
+
 
+
deposit() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
Processes the deposit operation + Messages ask for the number of the account and the amount to deposit
+
+
deposit(float) - Method in class fr.unantes.software.construction.Account
+
+
If valid, adds the amount to the current balance and adds this operations in the history
+
+
deposit(int, float) - Method in class fr.unantes.software.construction.Bank
+
+
Deposits the amount on the account number accountNumber
+
+
DepositOperation - Class in fr.unantes.software.construction
+
 
+
DepositOperation(float, LocalDateTime) - Constructor for class fr.unantes.software.construction.DepositOperation
+
+
Calls the constructor of super class with the parameter amount
+
+
displayAccounts() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
Displays the list of accounts in the bank (number, balance and overdraft)
+
+
displayAccountsOfClient() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
Displays the list of accounts of a client + If the client does not exist a message is displayed on the console
+
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-5.html b/javadoc/index-files/index-5.html new file mode 100644 index 0000000000000000000000000000000000000000..ae28224c58e95893110bc004d82283193568cc63 --- /dev/null +++ b/javadoc/index-files/index-5.html @@ -0,0 +1,132 @@ + + + + + +E-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

E

+
+
encode(String) - Method in class fr.unantes.software.construction.security.PasswordManager
+
+
Encode the clear password
+
+
equals(Object) - Method in class fr.unantes.software.construction.address.Card
+
+
Check if two cards ahas same identifications number + If so, they're considered the same
+
+
equals(Object) - Method in class fr.unantes.software.construction.address.City
+
+
Check whether two cities have identical name + Check if the city are from the same country
+
+
equals(Object) - Method in class fr.unantes.software.construction.address.Mail
+
+
Check whether two mails are identicals
+
+
equals(Object) - Method in class fr.unantes.software.construction.address.Phone
+
+
Check if two phones are the same
+
+
equals(Object) - Method in class fr.unantes.software.construction.Client
+
 
+
errorText - Variable in class fr.unantes.software.construction.ui.controller.LoginController
+
 
+
errorText - Variable in class fr.unantes.software.construction.ui.controller.NewClientController
+
 
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-6.html b/javadoc/index-files/index-6.html new file mode 100644 index 0000000000000000000000000000000000000000..612b540f5c229bc80dcbf88b4d3cff32dbc398ad --- /dev/null +++ b/javadoc/index-files/index-6.html @@ -0,0 +1,126 @@ + + + + + +F-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

F

+
+
fieldPassword - Variable in class fr.unantes.software.construction.ui.controller.LoginController
+
 
+
fieldPassword - Variable in class fr.unantes.software.construction.ui.controller.NewClientController
+
 
+
fieldUsername - Variable in class fr.unantes.software.construction.ui.controller.LoginController
+
 
+
fieldUsername - Variable in class fr.unantes.software.construction.ui.controller.NewClientController
+
 
+
find(T) - Method in class fr.unantes.software.construction.address.ListWrapper
+
 
+
fr.unantes.software.construction - package fr.unantes.software.construction
+
 
+
fr.unantes.software.construction.address - package fr.unantes.software.construction.address
+
 
+
fr.unantes.software.construction.references - package fr.unantes.software.construction.references
+
 
+
fr.unantes.software.construction.security - package fr.unantes.software.construction.security
+
 
+
fr.unantes.software.construction.ui - package fr.unantes.software.construction.ui
+
 
+
fr.unantes.software.construction.ui.controller - package fr.unantes.software.construction.ui.controller
+
 
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-7.html b/javadoc/index-files/index-7.html new file mode 100644 index 0000000000000000000000000000000000000000..3810e128e85da89c47e2d7319e863217fb800e97 --- /dev/null +++ b/javadoc/index-files/index-7.html @@ -0,0 +1,271 @@ + + + + + +G-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

G

+
+
get() - Method in class fr.unantes.software.construction.address.ListWrapper
+
 
+
get() - Method in class fr.unantes.software.construction.references.ManyToOneReference
+
 
+
get() - Method in class fr.unantes.software.construction.references.MultipleReference
+
 
+
get() - Method in class fr.unantes.software.construction.references.OneToManyReference
+
 
+
get() - Method in class fr.unantes.software.construction.references.SingleReference
+
 
+
get(int) - Method in class fr.unantes.software.construction.references.ManyToOneReference
+
 
+
get(int) - Method in class fr.unantes.software.construction.references.MultipleReference
+
 
+
getAccount() - Method in class fr.unantes.software.construction.Operation
+
 
+
getAccount(int) - Method in class fr.unantes.software.construction.Bank
+
+
Looks for an account with the number accountNumber in the set of accounts + The assumption is that there cannot be several accounts with the same number
+
+
getAccountNumbers() - Method in class fr.unantes.software.construction.Bank
+
 
+
getAccounts() - Method in class fr.unantes.software.construction.Bank
+
 
+
getAccounts() - Method in class fr.unantes.software.construction.Client
+
 
+
getAccountsOfClient(String) - Method in class fr.unantes.software.construction.Bank
+
 
+
getAddress() - Method in class fr.unantes.software.construction.Client
+
 
+
getAddresses() - Method in class fr.unantes.software.construction.address.Card
+
 
+
getAddressRef() - Method in class fr.unantes.software.construction.Client
+
 
+
getAmount() - Method in class fr.unantes.software.construction.Operation
+
 
+
getBalance() - Method in class fr.unantes.software.construction.Account
+
 
+
getBank() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
 
+
getCard() - Method in class fr.unantes.software.construction.Client
+
 
+
getCards() - Method in class fr.unantes.software.construction.address.AddressBook
+
 
+
getCity() - Method in class fr.unantes.software.construction.address.Address
+
 
+
getClient(String) - Method in class fr.unantes.software.construction.Bank
+
+
Looks for a person named name in the set of clients.
+
+
getClients() - Method in class fr.unantes.software.construction.Bank
+
 
+
getComment() - Method in class fr.unantes.software.construction.address.Group
+
 
+
getComment() - Method in class fr.unantes.software.construction.address.Phone
+
 
+
getCompanyName() - Method in class fr.unantes.software.construction.address.CompanyCard
+
 
+
getCompanyName() - Method in class fr.unantes.software.construction.CompanyClient
+
 
+
getCountry() - Method in class fr.unantes.software.construction.address.City
+
 
+
getDateTime() - Method in class fr.unantes.software.construction.Operation
+
 
+
getFirstName() - Method in class fr.unantes.software.construction.PrivateClient
+
 
+
getGroups() - Method in class fr.unantes.software.construction.address.Card
+
 
+
getHistory() - Method in class fr.unantes.software.construction.Account
+
 
+
getHome() - Method in class fr.unantes.software.construction.address.Mail
+
 
+
getId() - Method in class fr.unantes.software.construction.Account
+
 
+
getIdentification() - Method in class fr.unantes.software.construction.address.Card
+
 
+
getIdentification() - Method in class fr.unantes.software.construction.Client
+
 
+
getLastName() - Method in class fr.unantes.software.construction.PrivateClient
+
 
+
getlength(String) - Method in class fr.unantes.software.construction.security.PasswordManager
+
+
Calculate the strength of a password according to characters choosen
+
+
getLocality() - Method in class fr.unantes.software.construction.address.Address
+
 
+
getLocality() - Method in class fr.unantes.software.construction.address.PrivateAddress
+
 
+
getMails() - Method in class fr.unantes.software.construction.address.Card
+
 
+
getName() - Method in class fr.unantes.software.construction.address.AddressBook
+
 
+
getName() - Method in class fr.unantes.software.construction.address.Card
+
 
+
getName() - Method in class fr.unantes.software.construction.address.City
+
 
+
getName() - Method in class fr.unantes.software.construction.address.CompanyCard
+
 
+
getName() - Method in class fr.unantes.software.construction.address.Group
+
 
+
getName() - Method in class fr.unantes.software.construction.address.PrivateCard
+
 
+
getName() - Method in class fr.unantes.software.construction.Client
+
 
+
getNamestoClients() - Method in class fr.unantes.software.construction.security.ClientController
+
 
+
getOperationType() - Method in class fr.unantes.software.construction.DepositOperation
+
 
+
getOperationType() - Method in class fr.unantes.software.construction.Operation
+
 
+
getOperationType() - Method in class fr.unantes.software.construction.WithdrawOperation
+
 
+
getOverdraft() - Method in class fr.unantes.software.construction.Account
+
 
+
getOwner() - Method in class fr.unantes.software.construction.Account
+
 
+
getOwner() - Method in class fr.unantes.software.construction.address.Card
+
 
+
getPhoneNumber() - Method in class fr.unantes.software.construction.address.Phone
+
 
+
getPhones() - Method in class fr.unantes.software.construction.address.Card
+
 
+
getRefClient() - Method in class fr.unantes.software.construction.address.Address
+
 
+
getRole() - Method in class fr.unantes.software.construction.Account
+
 
+
getRole() - Method in class fr.unantes.software.construction.address.Address
+
 
+
getRole() - Method in class fr.unantes.software.construction.address.CompanyAddress
+
 
+
getRole() - Method in class fr.unantes.software.construction.address.PrivateAddress
+
 
+
getRole() - Method in class fr.unantes.software.construction.Client
+
 
+
getRole() - Method in class fr.unantes.software.construction.CompanyClient
+
 
+
getRole() - Method in class fr.unantes.software.construction.PrivateClient
+
 
+
getSector() - Method in class fr.unantes.software.construction.address.CompanyAddress
+
 
+
getStreet() - Method in class fr.unantes.software.construction.address.Address
+
 
+
getStreetNumber() - Method in class fr.unantes.software.construction.address.Address
+
 
+
getWork() - Method in class fr.unantes.software.construction.address.Mail
+
 
+
getXMLListClosingTag() - Method in class fr.unantes.software.construction.address.Address
+
 
+
getXMLListOpenTag() - Method in class fr.unantes.software.construction.address.Address
+
 
+
getZipCode() - Method in class fr.unantes.software.construction.address.Address
+
 
+
GraphicalUserInterface - Class in fr.unantes.software.construction.ui
+
 
+
GraphicalUserInterface() - Constructor for class fr.unantes.software.construction.ui.GraphicalUserInterface
+
 
+
Group - Class in fr.unantes.software.construction.address
+
 
+
Group(String, String) - Constructor for class fr.unantes.software.construction.address.Group
+
+
Constructor
+
+
groups - Variable in class fr.unantes.software.construction.address.Card
+
+
List of groups associated with card
+
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-8.html b/javadoc/index-files/index-8.html new file mode 100644 index 0000000000000000000000000000000000000000..c099c20b142b05532ecae262e78f918b6f2f4156 --- /dev/null +++ b/javadoc/index-files/index-8.html @@ -0,0 +1,131 @@ + + + + + +H-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

H

+
+
hashCode() - Method in class fr.unantes.software.construction.address.City
+
 
+
hashCode() - Method in class fr.unantes.software.construction.Client
+
 
+
hasRole() - Method in class fr.unantes.software.construction.Account
+
+
If this account is associated with an owner, it takes it's role + Thus, an account cannot be shared by both private and company clients
+
+
hasSameName(Group) - Method in class fr.unantes.software.construction.address.Group
+
+
Check whether or not two groups have same names
+
+
hasUser(Client) - Method in class fr.unantes.software.construction.security.ClientController
+
+
Test if an user is registered in the manager
+
+
history() - Static method in class fr.unantes.software.construction.ui.TextualUserInterface
+
+
Displays the history for an account.
+
+
historyToArray() - Method in class fr.unantes.software.construction.Account
+
 
+
HomeController - Class in fr.unantes.software.construction.ui.controller
+
 
+
HomeController() - Constructor for class fr.unantes.software.construction.ui.controller.HomeController
+
 
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index-files/index-9.html b/javadoc/index-files/index-9.html new file mode 100644 index 0000000000000000000000000000000000000000..1193106f4847deeb4f0c42cba5eda21961a06ed6 --- /dev/null +++ b/javadoc/index-files/index-9.html @@ -0,0 +1,130 @@ + + + + + +I-Index + + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+
A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages + + +

I

+
+
identicalCard(Card) - Method in class fr.unantes.software.construction.address.Card
+
+
Check if two cards are identicals
+
+
initialize(URL, ResourceBundle) - Method in class fr.unantes.software.construction.ui.controller.LoginController
+
+
Initialize the current controller
+
+
initialize(URL, ResourceBundle) - Method in class fr.unantes.software.construction.ui.controller.NewClientController
+
+
Initialize the current controller
+
+
instanceOf() - Static method in class fr.unantes.software.construction.security.ClientController
+
 
+
isAccountsEmpty() - Method in class fr.unantes.software.construction.Bank
+
 
+
isAccountsEmpty() - Method in class fr.unantes.software.construction.Client
+
 
+
isClientsEmpty() - Method in class fr.unantes.software.construction.Bank
+
 
+
isSet() - Method in class fr.unantes.software.construction.references.OneToManyReference
+
 
+
isSet() - Method in interface fr.unantes.software.construction.references.Reference
+
 
+
isSet() - Method in class fr.unantes.software.construction.references.SingleReference
+
 
+
+A B C D E F G H I L M N O P R S T U V W Z 
All Classes All Packages
+
+ + + diff --git a/javadoc/index.html b/javadoc/index.html new file mode 100644 index 0000000000000000000000000000000000000000..0da70d4533044a4e895251d12d10057e08cafe67 --- /dev/null +++ b/javadoc/index.html @@ -0,0 +1,133 @@ + + + + + +Overview + + + + + + + + + + + + + + + + +
+ +
+
+ +
+ + + diff --git a/javadoc/member-search-index.js b/javadoc/member-search-index.js new file mode 100644 index 0000000000000000000000000000000000000000..9a95b4783da3fc1586a984a3361e7e54d4b9d19d --- /dev/null +++ b/javadoc/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"fr.unantes.software.construction","c":"Account","l":"Account(Client, float, float)","url":"%3Cinit%3E(fr.unantes.software.construction.Client,float,float)"},{"p":"fr.unantes.software.construction","c":"AccountNumberDoesNotExistException","l":"AccountNumberDoesNotExistException()","url":"%3Cinit%3E()"},{"p":"fr.unantes.software.construction","c":"AccountNumberDoesNotExistException","l":"AccountNumberDoesNotExistException(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"accountsIterator()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"accountsSize()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"accountsToArray()"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"add(T)"},{"p":"fr.unantes.software.construction.references","c":"ManyToOneReference","l":"add(T)"},{"p":"fr.unantes.software.construction.references","c":"MultipleReference","l":"add(T)"},{"p":"fr.unantes.software.construction","c":"Client","l":"addAccount(Account)","url":"addAccount(fr.unantes.software.construction.Account)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"addAccount(String, float, float, String)","url":"addAccount(java.lang.String,float,float,java.lang.String)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"addAccounts(Account)","url":"addAccounts(fr.unantes.software.construction.Account)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"addClients(Client)","url":"addClients(fr.unantes.software.construction.Client)"},{"p":"fr.unantes.software.construction","c":"Account","l":"addHistory(Operation)","url":"addHistory(fr.unantes.software.construction.Operation)"},{"p":"fr.unantes.software.construction","c":"Account","l":"addOwner(Client)","url":"addOwner(fr.unantes.software.construction.Client)"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"Address(Integer, String, City, Integer, String)","url":"%3Cinit%3E(java.lang.Integer,java.lang.String,fr.unantes.software.construction.address.City,java.lang.Integer,java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"AddressBook","l":"AddressBook()","url":"%3Cinit%3E()"},{"p":"fr.unantes.software.construction.address","c":"AddressBook","l":"AddressBook(String, ListWrapper)","url":"%3Cinit%3E(java.lang.String,fr.unantes.software.construction.address.ListWrapper)"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"addresses"},{"p":"fr.unantes.software.construction.security","c":"ClientController","l":"addUser(Client, String)","url":"addUser(fr.unantes.software.construction.Client,java.lang.String)"},{"p":"fr.unantes.software.construction.ui.controller","c":"NewClientController","l":"backButton"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"balance()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"Bank()","url":"%3Cinit%3E()"},{"p":"fr.unantes.software.construction.references","c":"ManyToOneReference","l":"basicAdd(T)"},{"p":"fr.unantes.software.construction.references","c":"MultipleReference","l":"basicAdd(T)"},{"p":"fr.unantes.software.construction.references","c":"ManyToOneReference","l":"basicRemove(T)"},{"p":"fr.unantes.software.construction.references","c":"MultipleReference","l":"basicRemove(T)"},{"p":"fr.unantes.software.construction.references","c":"OneToManyReference","l":"basicSet(T)"},{"p":"fr.unantes.software.construction.references","c":"OneToManyReference","l":"basicUnset()"},{"p":"fr.unantes.software.construction.ui.controller","c":"LoginController","l":"buttonCreate"},{"p":"fr.unantes.software.construction.ui.controller","c":"LoginController","l":"buttonLogin"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"Card(Client)","url":"%3Cinit%3E(fr.unantes.software.construction.Client)"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"city"},{"p":"fr.unantes.software.construction.address","c":"City","l":"City(String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"clearAccounts()"},{"p":"fr.unantes.software.construction","c":"Client","l":"clearAccounts()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"clearClients()"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"client"},{"p":"fr.unantes.software.construction","c":"Client","l":"Client(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"fr.unantes.software.construction.security","c":"ClientController","l":"ClientController()","url":"%3Cinit%3E()"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"clients()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"clientsIterator()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"clientsSize()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"clientsToArray()"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"closeAccount()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"closeAccount(int)"},{"p":"fr.unantes.software.construction.address","c":"Group","l":"comment"},{"p":"fr.unantes.software.construction.address","c":"Phone","l":"comment"},{"p":"fr.unantes.software.construction.address","c":"CompanyAddress","l":"CompanyAddress(Integer, String, City, int, String, String)","url":"%3Cinit%3E(java.lang.Integer,java.lang.String,fr.unantes.software.construction.address.City,int,java.lang.String,java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"CompanyCard","l":"CompanyCard(CompanyClient)","url":"%3Cinit%3E(fr.unantes.software.construction.CompanyClient)"},{"p":"fr.unantes.software.construction","c":"CompanyClient","l":"CompanyClient(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"fr.unantes.software.construction","c":"CompanyClient","l":"CompanyClient(String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"CompanyCard","l":"companyName"},{"p":"fr.unantes.software.construction.ui.controller","c":"NewClientController","l":"companyRadio"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"contains(T)"},{"p":"fr.unantes.software.construction.references","c":"ManyToOneReference","l":"contains(T)"},{"p":"fr.unantes.software.construction.references","c":"MultipleReference","l":"contains(T)"},{"p":"fr.unantes.software.construction","c":"Client","l":"containsAccount(Account)","url":"containsAccount(fr.unantes.software.construction.Account)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"containsAccounts(Account)","url":"containsAccounts(fr.unantes.software.construction.Account)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"containsAllAccounts(List)","url":"containsAllAccounts(java.util.List)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"containsAllClients(List)","url":"containsAllClients(java.util.List)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"containsClients(Client)","url":"containsClients(fr.unantes.software.construction.Client)"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"createAccount()"},{"p":"fr.unantes.software.construction.ui.controller","c":"NewClientController","l":"createPane"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"delegateMerge(ListWrapper)","url":"delegateMerge(fr.unantes.software.construction.address.ListWrapper)"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"delete(T)"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"deposit()"},{"p":"fr.unantes.software.construction","c":"Account","l":"deposit(float)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"deposit(int, float)","url":"deposit(int,float)"},{"p":"fr.unantes.software.construction","c":"DepositOperation","l":"DepositOperation(float, LocalDateTime)","url":"%3Cinit%3E(float,java.time.LocalDateTime)"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"displayAccounts()"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"displayAccountsOfClient()"},{"p":"fr.unantes.software.construction.security","c":"PasswordManager","l":"encode(String)","url":"encode(java.lang.String)"},{"p":"fr.unantes.software.construction","c":"Client","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"fr.unantes.software.construction.address","c":"City","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"fr.unantes.software.construction.address","c":"Mail","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"fr.unantes.software.construction.address","c":"Phone","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"fr.unantes.software.construction.ui.controller","c":"LoginController","l":"errorText"},{"p":"fr.unantes.software.construction.ui.controller","c":"NewClientController","l":"errorText"},{"p":"fr.unantes.software.construction.ui.controller","c":"LoginController","l":"fieldPassword"},{"p":"fr.unantes.software.construction.ui.controller","c":"NewClientController","l":"fieldPassword"},{"p":"fr.unantes.software.construction.ui.controller","c":"LoginController","l":"fieldUsername"},{"p":"fr.unantes.software.construction.ui.controller","c":"NewClientController","l":"fieldUsername"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"find(T)"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"get()"},{"p":"fr.unantes.software.construction.references","c":"ManyToOneReference","l":"get()"},{"p":"fr.unantes.software.construction.references","c":"MultipleReference","l":"get()"},{"p":"fr.unantes.software.construction.references","c":"OneToManyReference","l":"get()"},{"p":"fr.unantes.software.construction.references","c":"SingleReference","l":"get()"},{"p":"fr.unantes.software.construction.references","c":"ManyToOneReference","l":"get(int)"},{"p":"fr.unantes.software.construction.references","c":"MultipleReference","l":"get(int)"},{"p":"fr.unantes.software.construction","c":"Operation","l":"getAccount()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"getAccount(int)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"getAccountNumbers()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"getAccounts()"},{"p":"fr.unantes.software.construction","c":"Client","l":"getAccounts()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"getAccountsOfClient(String)","url":"getAccountsOfClient(java.lang.String)"},{"p":"fr.unantes.software.construction","c":"Client","l":"getAddress()"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"getAddresses()"},{"p":"fr.unantes.software.construction","c":"Client","l":"getAddressRef()"},{"p":"fr.unantes.software.construction","c":"Operation","l":"getAmount()"},{"p":"fr.unantes.software.construction","c":"Account","l":"getBalance()"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"getBank()"},{"p":"fr.unantes.software.construction","c":"Client","l":"getCard()"},{"p":"fr.unantes.software.construction.address","c":"AddressBook","l":"getCards()"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"getCity()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"getClient(String)","url":"getClient(java.lang.String)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"getClients()"},{"p":"fr.unantes.software.construction.address","c":"Group","l":"getComment()"},{"p":"fr.unantes.software.construction.address","c":"Phone","l":"getComment()"},{"p":"fr.unantes.software.construction","c":"CompanyClient","l":"getCompanyName()"},{"p":"fr.unantes.software.construction.address","c":"CompanyCard","l":"getCompanyName()"},{"p":"fr.unantes.software.construction.address","c":"City","l":"getCountry()"},{"p":"fr.unantes.software.construction","c":"Operation","l":"getDateTime()"},{"p":"fr.unantes.software.construction","c":"PrivateClient","l":"getFirstName()"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"getGroups()"},{"p":"fr.unantes.software.construction","c":"Account","l":"getHistory()"},{"p":"fr.unantes.software.construction.address","c":"Mail","l":"getHome()"},{"p":"fr.unantes.software.construction","c":"Account","l":"getId()"},{"p":"fr.unantes.software.construction","c":"Client","l":"getIdentification()"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"getIdentification()"},{"p":"fr.unantes.software.construction","c":"PrivateClient","l":"getLastName()"},{"p":"fr.unantes.software.construction.security","c":"PasswordManager","l":"getlength(String)","url":"getlength(java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"getLocality()"},{"p":"fr.unantes.software.construction.address","c":"PrivateAddress","l":"getLocality()"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"getMails()"},{"p":"fr.unantes.software.construction","c":"Client","l":"getName()"},{"p":"fr.unantes.software.construction.address","c":"AddressBook","l":"getName()"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"getName()"},{"p":"fr.unantes.software.construction.address","c":"City","l":"getName()"},{"p":"fr.unantes.software.construction.address","c":"CompanyCard","l":"getName()"},{"p":"fr.unantes.software.construction.address","c":"Group","l":"getName()"},{"p":"fr.unantes.software.construction.address","c":"PrivateCard","l":"getName()"},{"p":"fr.unantes.software.construction.security","c":"ClientController","l":"getNamestoClients()"},{"p":"fr.unantes.software.construction","c":"DepositOperation","l":"getOperationType()"},{"p":"fr.unantes.software.construction","c":"Operation","l":"getOperationType()"},{"p":"fr.unantes.software.construction","c":"WithdrawOperation","l":"getOperationType()"},{"p":"fr.unantes.software.construction","c":"Account","l":"getOverdraft()"},{"p":"fr.unantes.software.construction","c":"Account","l":"getOwner()"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"getOwner()"},{"p":"fr.unantes.software.construction.address","c":"Phone","l":"getPhoneNumber()"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"getPhones()"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"getRefClient()"},{"p":"fr.unantes.software.construction","c":"Account","l":"getRole()"},{"p":"fr.unantes.software.construction","c":"Client","l":"getRole()"},{"p":"fr.unantes.software.construction","c":"CompanyClient","l":"getRole()"},{"p":"fr.unantes.software.construction","c":"PrivateClient","l":"getRole()"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"getRole()"},{"p":"fr.unantes.software.construction.address","c":"CompanyAddress","l":"getRole()"},{"p":"fr.unantes.software.construction.address","c":"PrivateAddress","l":"getRole()"},{"p":"fr.unantes.software.construction.address","c":"CompanyAddress","l":"getSector()"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"getStreet()"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"getStreetNumber()"},{"p":"fr.unantes.software.construction.address","c":"Mail","l":"getWork()"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"getXMLListClosingTag()"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"getXMLListOpenTag()"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"getZipCode()"},{"p":"fr.unantes.software.construction.ui","c":"GraphicalUserInterface","l":"GraphicalUserInterface()","url":"%3Cinit%3E()"},{"p":"fr.unantes.software.construction.address","c":"Group","l":"Group(String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"groups"},{"p":"fr.unantes.software.construction","c":"Client","l":"hashCode()"},{"p":"fr.unantes.software.construction.address","c":"City","l":"hashCode()"},{"p":"fr.unantes.software.construction","c":"Account","l":"hasRole()"},{"p":"fr.unantes.software.construction.address","c":"Group","l":"hasSameName(Group)","url":"hasSameName(fr.unantes.software.construction.address.Group)"},{"p":"fr.unantes.software.construction.security","c":"ClientController","l":"hasUser(Client)","url":"hasUser(fr.unantes.software.construction.Client)"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"history()"},{"p":"fr.unantes.software.construction","c":"Account","l":"historyToArray()"},{"p":"fr.unantes.software.construction.ui.controller","c":"HomeController","l":"HomeController()","url":"%3Cinit%3E()"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"identicalCard(Card)","url":"identicalCard(fr.unantes.software.construction.address.Card)"},{"p":"fr.unantes.software.construction.ui.controller","c":"LoginController","l":"initialize(URL, ResourceBundle)","url":"initialize(java.net.URL,java.util.ResourceBundle)"},{"p":"fr.unantes.software.construction.ui.controller","c":"NewClientController","l":"initialize(URL, ResourceBundle)","url":"initialize(java.net.URL,java.util.ResourceBundle)"},{"p":"fr.unantes.software.construction.security","c":"ClientController","l":"instanceOf()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"isAccountsEmpty()"},{"p":"fr.unantes.software.construction","c":"Client","l":"isAccountsEmpty()"},{"p":"fr.unantes.software.construction","c":"Bank","l":"isClientsEmpty()"},{"p":"fr.unantes.software.construction.references","c":"OneToManyReference","l":"isSet()"},{"p":"fr.unantes.software.construction.references","c":"Reference","l":"isSet()"},{"p":"fr.unantes.software.construction.references","c":"SingleReference","l":"isSet()"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"ListWrapper()","url":"%3Cinit%3E()"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"ListWrapper(ListWrapper)","url":"%3Cinit%3E(fr.unantes.software.construction.address.ListWrapper)"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"locality"},{"p":"fr.unantes.software.construction.ui.controller","c":"LoginController","l":"LoginController()","url":"%3Cinit%3E()"},{"p":"fr.unantes.software.construction.ui.controller","c":"LoginController","l":"loginPane"},{"p":"fr.unantes.software.construction.address","c":"Mail","l":"Mail(String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"fr.unantes.software.construction","c":"Main","l":"Main()","url":"%3Cinit%3E()"},{"p":"fr.unantes.software.construction","c":"Main","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"main(String[])","url":"main(java.lang.String[])"},{"p":"fr.unantes.software.construction.references","c":"ManyToOneReference","l":"ManyToOneReference(C)","url":"%3Cinit%3E(C)"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"menu()"},{"p":"fr.unantes.software.construction.address","c":"AddressBook","l":"merge(AddressBook, String)","url":"merge(fr.unantes.software.construction.address.AddressBook,java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"Group","l":"merge(Group)","url":"merge(fr.unantes.software.construction.address.Group)"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"merge(ListWrapper)","url":"merge(fr.unantes.software.construction.address.ListWrapper)"},{"p":"fr.unantes.software.construction.address","c":"Mail","l":"merge(Mail)","url":"merge(fr.unantes.software.construction.address.Mail)"},{"p":"fr.unantes.software.construction.address","c":"Phone","l":"merge(Phone)","url":"merge(fr.unantes.software.construction.address.Phone)"},{"p":"fr.unantes.software.construction.references","c":"MultipleReference","l":"MultipleReference(C)","url":"%3Cinit%3E(C)"},{"p":"fr.unantes.software.construction.address","c":"Group","l":"name"},{"p":"fr.unantes.software.construction.ui.controller","c":"NewClientController","l":"NewClientController()","url":"%3Cinit%3E()"},{"p":"fr.unantes.software.construction.references","c":"OneToManyReference","l":"OneToManyReference(C)","url":"%3Cinit%3E(C)"},{"p":"fr.unantes.software.construction","c":"Operation","l":"Operation(float, LocalDateTime)","url":"%3Cinit%3E(float,java.time.LocalDateTime)"},{"p":"fr.unantes.software.construction.references","c":"ManyToOneReference","l":"oppositeFor(T)"},{"p":"fr.unantes.software.construction.references","c":"MultipleReference","l":"oppositeFor(T)"},{"p":"fr.unantes.software.construction.references","c":"OneToManyReference","l":"oppositeFor(T)"},{"p":"fr.unantes.software.construction.references","c":"SingleReference","l":"oppositeFor(T)"},{"p":"fr.unantes.software.construction.security","c":"PasswordManager","l":"PasswordManager()","url":"%3Cinit%3E()"},{"p":"fr.unantes.software.construction.address","c":"Phone","l":"Phone(Integer, String)","url":"%3Cinit%3E(java.lang.Integer,java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"Phone","l":"phoneNumber"},{"p":"fr.unantes.software.construction.address","c":"PrivateAddress","l":"PrivateAddress(Integer, String, City, int, String)","url":"%3Cinit%3E(java.lang.Integer,java.lang.String,fr.unantes.software.construction.address.City,int,java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"PrivateCard","l":"PrivateCard(PrivateClient)","url":"%3Cinit%3E(fr.unantes.software.construction.PrivateClient)"},{"p":"fr.unantes.software.construction","c":"PrivateClient","l":"PrivateClient(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"fr.unantes.software.construction","c":"PrivateClient","l":"PrivateClient(String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"fr.unantes.software.construction","c":"PrivateClient","l":"PrivateClient(String, String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"fr.unantes.software.construction.ui.controller","c":"NewClientController","l":"privateRadio"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"process(int)"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"readInt()"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"readNumber()"},{"p":"fr.unantes.software.construction.references","c":"ManyToOneReference","l":"remove(T)"},{"p":"fr.unantes.software.construction.references","c":"MultipleReference","l":"remove(T)"},{"p":"fr.unantes.software.construction","c":"Client","l":"removeAccount(Account)","url":"removeAccount(fr.unantes.software.construction.Account)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"removeAccounts(Account)","url":"removeAccounts(fr.unantes.software.construction.Account)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"removeClients(Client)","url":"removeClients(fr.unantes.software.construction.Client)"},{"p":"fr.unantes.software.construction","c":"Account","l":"removeOwner(Client)","url":"removeOwner(fr.unantes.software.construction.Client)"},{"p":"fr.unantes.software.construction.security","c":"ClientController","l":"removeUser(Client)","url":"removeUser(fr.unantes.software.construction.Client)"},{"p":"fr.unantes.software.construction.address","c":"Phone","l":"sameNumberAs(Phone)","url":"sameNumberAs(fr.unantes.software.construction.address.Phone)"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"set(List)","url":"set(java.util.List)"},{"p":"fr.unantes.software.construction.references","c":"OneToManyReference","l":"set(T)"},{"p":"fr.unantes.software.construction.references","c":"SingleReference","l":"set(T)"},{"p":"fr.unantes.software.construction","c":"Operation","l":"setAccount(Account)","url":"setAccount(fr.unantes.software.construction.Account)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"setAccountNumbers(int)"},{"p":"fr.unantes.software.construction","c":"Client","l":"setAccounts(Account[])","url":"setAccounts(fr.unantes.software.construction.Account[])"},{"p":"fr.unantes.software.construction","c":"Bank","l":"setAccounts(List)","url":"setAccounts(java.util.List)"},{"p":"fr.unantes.software.construction","c":"Client","l":"setAddress(Address)","url":"setAddress(fr.unantes.software.construction.address.Address)"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"setAddresses(ListWrapper
)","url":"setAddresses(fr.unantes.software.construction.address.ListWrapper)"},{"p":"fr.unantes.software.construction","c":"Account","l":"setBalance(float)"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"setBank(Bank)","url":"setBank(fr.unantes.software.construction.Bank)"},{"p":"fr.unantes.software.construction.address","c":"AddressBook","l":"setCards(ListWrapper)","url":"setCards(fr.unantes.software.construction.address.ListWrapper)"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"setCity(City)","url":"setCity(fr.unantes.software.construction.address.City)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"setClients(List)","url":"setClients(java.util.List)"},{"p":"fr.unantes.software.construction.address","c":"Group","l":"setComment(String)","url":"setComment(java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"Phone","l":"setComment(String)","url":"setComment(java.lang.String)"},{"p":"fr.unantes.software.construction","c":"CompanyClient","l":"setCompanyName(String)","url":"setCompanyName(java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"CompanyCard","l":"setCompanyName(String)","url":"setCompanyName(java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"City","l":"setCountry(String)","url":"setCountry(java.lang.String)"},{"p":"fr.unantes.software.construction","c":"PrivateClient","l":"setFirstName(String)","url":"setFirstName(java.lang.String)"},{"p":"fr.unantes.software.construction.ui.controller","c":"LoginController","l":"setGraphicUserInterface(GraphicalUserInterface)","url":"setGraphicUserInterface(fr.unantes.software.construction.ui.GraphicalUserInterface)"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"setGroups(ListWrapper)","url":"setGroups(fr.unantes.software.construction.address.ListWrapper)"},{"p":"fr.unantes.software.construction.address","c":"Mail","l":"setHome(String)","url":"setHome(java.lang.String)"},{"p":"fr.unantes.software.construction","c":"PrivateClient","l":"setLastName(String)","url":"setLastName(java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"setLocality(String)","url":"setLocality(java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"PrivateAddress","l":"setLocality(String)","url":"setLocality(java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"setMails(ListWrapper)","url":"setMails(fr.unantes.software.construction.address.ListWrapper)"},{"p":"fr.unantes.software.construction.address","c":"AddressBook","l":"setName(String)","url":"setName(java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"City","l":"setName(String)","url":"setName(java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"Group","l":"setName(String)","url":"setName(java.lang.String)"},{"p":"fr.unantes.software.construction","c":"Account","l":"setOverdraft(float)"},{"p":"fr.unantes.software.construction.address","c":"Phone","l":"setPhoneNumber(Integer)","url":"setPhoneNumber(java.lang.Integer)"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"setPhones(ListWrapper)","url":"setPhones(fr.unantes.software.construction.address.ListWrapper)"},{"p":"fr.unantes.software.construction.address","c":"CompanyAddress","l":"setSector(String)","url":"setSector(java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"setStreet(String)","url":"setStreet(java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"setStreetNumber(Integer)","url":"setStreetNumber(java.lang.Integer)"},{"p":"fr.unantes.software.construction.address","c":"Mail","l":"setWork(String)","url":"setWork(java.lang.String)"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"setZipCode(Integer)","url":"setZipCode(java.lang.Integer)"},{"p":"fr.unantes.software.construction.references","c":"SingleReference","l":"SingleReference(C)","url":"%3Cinit%3E(C)"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"size()"},{"p":"fr.unantes.software.construction.references","c":"ManyToOneReference","l":"size()"},{"p":"fr.unantes.software.construction.references","c":"MultipleReference","l":"size()"},{"p":"fr.unantes.software.construction.ui","c":"GraphicalUserInterface","l":"start(Stage)","url":"start(javafx.stage.Stage)"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"streetName"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"streetNumber"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"TextualUserInterface()","url":"%3Cinit%3E()"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"toString()"},{"p":"fr.unantes.software.construction.address","c":"CompanyAddress","l":"toString()"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"toString()"},{"p":"fr.unantes.software.construction.address","c":"Mail","l":"toString()"},{"p":"fr.unantes.software.construction.address","c":"PrivateAddress","l":"toString()"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"toXML()"},{"p":"fr.unantes.software.construction.address","c":"AddressBook","l":"toXML()"},{"p":"fr.unantes.software.construction.address","c":"Card","l":"toXML()"},{"p":"fr.unantes.software.construction.address","c":"CompanyAddress","l":"toXML()"},{"p":"fr.unantes.software.construction.address","c":"CompanyCard","l":"toXML()"},{"p":"fr.unantes.software.construction.address","c":"Group","l":"toXML()"},{"p":"fr.unantes.software.construction.address","c":"ListWrapper","l":"toXML()"},{"p":"fr.unantes.software.construction.address","c":"Mail","l":"toXML()"},{"p":"fr.unantes.software.construction.address","c":"Phone","l":"toXML()"},{"p":"fr.unantes.software.construction.address","c":"PrivateAddress","l":"toXML()"},{"p":"fr.unantes.software.construction.address","c":"PrivateCard","l":"toXML()"},{"p":"fr.unantes.software.construction.references","c":"OneToManyReference","l":"unset()"},{"p":"fr.unantes.software.construction.references","c":"Reference","l":"unset()"},{"p":"fr.unantes.software.construction.references","c":"SingleReference","l":"unset()"},{"p":"fr.unantes.software.construction.security","c":"PasswordManager","l":"validate(String, String)","url":"validate(java.lang.String,java.lang.String)"},{"p":"fr.unantes.software.construction.ui.controller","c":"NewClientController","l":"validateButton"},{"p":"fr.unantes.software.construction.security","c":"PasswordManager","l":"validateNewPassword(String)","url":"validateNewPassword(java.lang.String)"},{"p":"fr.unantes.software.construction.security","c":"ClientController","l":"validatePassword(Client, String)","url":"validatePassword(fr.unantes.software.construction.Client,java.lang.String)"},{"p":"fr.unantes.software.construction.ui","c":"TextualUserInterface","l":"withdraw()"},{"p":"fr.unantes.software.construction","c":"Account","l":"withdraw(float)"},{"p":"fr.unantes.software.construction","c":"Bank","l":"withdraw(int, float)","url":"withdraw(int,float)"},{"p":"fr.unantes.software.construction","c":"WithdrawOperation","l":"WithdrawOperation(float, LocalDateTime)","url":"%3Cinit%3E(float,java.time.LocalDateTime)"},{"p":"fr.unantes.software.construction.address","c":"Address","l":"zipCode"}] \ No newline at end of file diff --git a/javadoc/overview-summary.html b/javadoc/overview-summary.html new file mode 100644 index 0000000000000000000000000000000000000000..1bbd94804cdc5debfa0497be59ad5eeabad8dd1f --- /dev/null +++ b/javadoc/overview-summary.html @@ -0,0 +1,26 @@ + + + + + +Generated Documentation (Untitled) + + + + + + + + + + +
+ +

index.html

+
+ + diff --git a/javadoc/overview-tree.html b/javadoc/overview-tree.html new file mode 100644 index 0000000000000000000000000000000000000000..b4fbf12562e5d7058d6f1585bc11835451f1b277 --- /dev/null +++ b/javadoc/overview-tree.html @@ -0,0 +1,180 @@ + + + + + +Class Hierarchy + + + + + + + + + + + + + + + + +
+ +
+
+ +
+
+

Class Hierarchy

+
    +
  • java.lang.Object + +
  • +
+
+
+

Interface Hierarchy

+
    +
  • fr.unantes.software.construction.references.Reference
  • +
+
+
+
+ + + diff --git a/javadoc/package-search-index.js b/javadoc/package-search-index.js new file mode 100644 index 0000000000000000000000000000000000000000..8a451b0ecd8e9cf32fdce6be7089c92211f37304 --- /dev/null +++ b/javadoc/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","url":"allpackages-index.html"},{"l":"fr.unantes.software.construction"},{"l":"fr.unantes.software.construction.address"},{"l":"fr.unantes.software.construction.references"},{"l":"fr.unantes.software.construction.security"},{"l":"fr.unantes.software.construction.ui"},{"l":"fr.unantes.software.construction.ui.controller"}] \ No newline at end of file diff --git a/javadoc/resources/glass.png b/javadoc/resources/glass.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f591f467a1c0c949bbc510156a0c1afb860a6e Binary files /dev/null and b/javadoc/resources/glass.png differ diff --git a/javadoc/resources/x.png b/javadoc/resources/x.png new file mode 100644 index 0000000000000000000000000000000000000000..30548a756e151be4e927e8d28c508cc5b3514bf3 Binary files /dev/null and b/javadoc/resources/x.png differ diff --git a/javadoc/script-dir/external/jquery/jquery.js b/javadoc/script-dir/external/jquery/jquery.js new file mode 100644 index 0000000000000000000000000000000000000000..5b16efa11d4432abe125853d03cd1112ac96b395 --- /dev/null +++ b/javadoc/script-dir/external/jquery/jquery.js @@ -0,0 +1,10598 @@ +/*! + * jQuery JavaScript Library v3.4.1 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2019-05-01T21:04Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var document = window.document; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var concat = arr.concat; + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + return typeof obj === "function" && typeof obj.nodeType !== "number"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.4.1", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android <=4.0 only + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a global context + globalEval: function( code, options ) { + DOMEval( code, { nonce: options && options.nonce } ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android <=4.0 only + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.4 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2019-04-08 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) && + + // Support: IE 8 only + // Exclude object elements + (nodeType !== 1 || context.nodeName.toLowerCase() !== "object") ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && rdescend.test( selector ) ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[i] = "#" + nid + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement("fieldset"); + + try { + return !!fn( el ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem.namespaceURI, + docElem = (elem.ownerDocument || elem).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( preferredDoc !== document && + (subWindow = document.defaultView) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( el ) { + el.className = "i"; + return !el.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( el ) { + el.appendChild( document.createComment("") ); + return !el.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID filter and find + if ( support.getById ) { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( (elem = elems[i++]) ) { + node = elem.getAttributeNode("id"); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( el ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "" + + ""; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( el ) { + el.innerHTML = "" + + ""; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll(":enabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll(":disabled").length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( el ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return (sel + "").replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new s