Package COM.INFORMATIMAGO.COMMON-LISP.BANK.RIB


This package provides a class representing a French "Relevé
d'Identité Banquaire", composed of three codes and a control key
value: (banque, branch-code, account-number, check-digits).

See also:

    COM.INFORMATIMAGO.COMMON-LISP.BANK.IBAN  --  the new European bank account numbers.

License:

    Copyright Pascal J. Bourguignon 1994 - 2012
    
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.
    
    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>
(account-number rib)
generic-function
RETURN: The account number of the RIB.
(setf (account-number rib) account-number)
generic-function
DO:     Sets the account-number of the RIB.
RETURN: RIB
(bank-code rib)
generic-function
RETURN: The bank code of the RIB.
(setf (bank-code rib) bank-code)
generic-function
DO:     Sets the bank-code of the RIB.
RETURN: RIB
(branch-code rib)
generic-function
RETURN: The branch code of the RIB.
(setf (branch-code rib) branch-code)
generic-function
DO:     Sets the branch-code of the RIB.
RETURN: RIB
(check-digits rib)
generic-function
RETURN: The check digits of the RIB.
(get-rib rib &key with-spaces)
generic-function
RETURN: A string containing the RIB. When WITH-SPACES is true, spaces
        are used to separate the various fields of the RIB.
rib
class
INVARIANT:  (length banque)=5,
            (length branch-code)=5,
            (length account-number)=11,
            (length check-digits)=2,
            for each attribute in {banque,branch-code,account-number,check-digits},
                foreach i in [0,strlen(attribute)-1],
                    attribute()[i] in {'0',...,'9','A',...,'Z'}.
            check-digits=f(banque,branch-code,account-number).
Class precedence list: RIB IBAN STANDARD-OBJECT T
Class init args: BASIC-FORM BANK-CODE BRANCH-CODE ACCOUNT-NUMBER CHECK-DIGITS
(set-account-number rib account-number)
generic-function
DO:     Sets the account-number of the RIB.
RETURN: RIB
(set-bank-code rib bank-code)
generic-function
DO:     Sets the bank-code of the RIB.
RETURN: RIB
(set-branch-code rib branch-code)
generic-function
DO:     Sets the branch-code of the RIB.
RETURN: RIB
(set-rib rib new-rib &key with-check-digits)
generic-function
DO:         Replace the RIB fields with the data obtained from the
            NEW-RIB string.
NEW-RIB:    A string containing the new rib numbers.
RETURN:     RIB