All Packages Class Hierarchy This Package Previous Next Index
Class atm.transaction.Transaction
java.lang.Object
|
+----atm.transaction.Transaction
- public abstract class Transaction
- extends Object
Abstract base class for classes representing the various kinds of
transaction the ATM can perform
-
ASKING_DO_ANOTHER_STATE
- Asking if customer wants to do another transaction
-
atm
- ATM to use for communication with the customer
-
balances
- Used to return account balances from the bank
-
card
- Customer card for the session this transaction is part of
-
COMPLETING_TRANSACTION_STATE
- Completing transaction
-
GETTING_SPECIFICS_STATE
- Getting specifics of the transaction from customer
-
INVALID_PIN_STATE
- Performing invalid PIN extension
-
message
- Message to bank describing this transaction
-
nextSerialNumber
- Next serial number - used to assign a unique serial number to
each transaction
-
pin
- PIN entered or re-entered by customer
-
PRINTING_RECEIPT_STATE
- Printing receipt
-
SENDING_TO_BANK_STATE
- Sending transaction to bank
-
serialNumber
- Serial number of this transaction
-
session
- Session in which this transaction is being performed
-
state
- The current state of the transaction
-
TRANSACTION_TYPES_MENU
- List of available transaction types to display as a menu
-
Transaction(ATM, Session, Card, int)
- Constructor
-
completeTransaction()
- Complete an approved transaction - each subclass must implement
this appropriately.
-
getSerialNumber()
- Get serial number of this transaction
-
getSpecificsFromCustomer()
- Get specifics for the transaction from the customer - each
subclass must implement this appropriately.
-
makeTransaction(ATM, Session, Card, int)
- Create a transaction of an appropriate type by asking the customer
what type of transaction is desired and then returning a newly-created
member of the appropriate subclass
-
performInvalidPINExtension()
- Perform the Invalid PIN Extension - reset session pin to new value if successful
-
performTransaction()
- Peform a transaction.
atm
protected ATM atm
- ATM to use for communication with the customer
session
protected Session session
- Session in which this transaction is being performed
card
protected Card card
- Customer card for the session this transaction is part of
pin
protected int pin
- PIN entered or re-entered by customer
serialNumber
protected int serialNumber
- Serial number of this transaction
message
protected Message message
- Message to bank describing this transaction
balances
protected Balances balances
- Used to return account balances from the bank
TRANSACTION_TYPES_MENU
private static final String TRANSACTION_TYPES_MENU[]
- List of available transaction types to display as a menu
nextSerialNumber
private static int nextSerialNumber
- Next serial number - used to assign a unique serial number to
each transaction
state
private int state
- The current state of the transaction
GETTING_SPECIFICS_STATE
private static final int GETTING_SPECIFICS_STATE
- Getting specifics of the transaction from customer
SENDING_TO_BANK_STATE
private static final int SENDING_TO_BANK_STATE
- Sending transaction to bank
INVALID_PIN_STATE
private static final int INVALID_PIN_STATE
- Performing invalid PIN extension
COMPLETING_TRANSACTION_STATE
private static final int COMPLETING_TRANSACTION_STATE
- Completing transaction
PRINTING_RECEIPT_STATE
private static final int PRINTING_RECEIPT_STATE
- Printing receipt
ASKING_DO_ANOTHER_STATE
private static final int ASKING_DO_ANOTHER_STATE
- Asking if customer wants to do another transaction
Transaction
protected Transaction(ATM atm,
Session session,
Card card,
int pin)
- Constructor
- Parameters:
- atm - the ATM used to communicate with customer
- session - the session in which this transaction is being performed
- card - the customer's card
- pin - the PIN entered by the customer
makeTransaction
public static Transaction makeTransaction(ATM atm,
Session session,
Card card,
int pin) throws CustomerConsole. Cancelled
- Create a transaction of an appropriate type by asking the customer
what type of transaction is desired and then returning a newly-created
member of the appropriate subclass
- Parameters:
- atm - the ATM used to communicate with customer
- session - the session in which this transaction is being performed
- card - the customer's card
- pin - the PIN entered by the customer
- Returns:
- a newly created Transaction object of the appropriate type
- Throws: CustomerConsole. Cancelled
- if the customer presses cancel instead
of choosing a transaction type
performTransaction
public boolean performTransaction() throws Transaction. CardRetained
- Peform a transaction. This method depends on the three abstract methods
that follow to perform the operations unique to each type of transaction
in the appropriate way.
- Returns:
- true if customer indicates a desire to do another transaction;
false if customer does not desire to do another transaction
- Throws: Transaction. CardRetained
- if card was retained due to too many invalid PIN's
performInvalidPINExtension
public Status performInvalidPINExtension() throws CustomerConsole. Cancelled, Transaction. CardRetained
- Perform the Invalid PIN Extension - reset session pin to new value if successful
- Returns:
- status code returned by bank from most recent re-submission
of transaction
- Throws: CustomerConsole. Cancelled
- if customer presses the CANCEL key
instead of re-entering PIN
- Throws: Transaction. CardRetained
- if card was retained due to too many invalid PIN's
getSerialNumber
public int getSerialNumber()
- Get serial number of this transaction
- Returns:
- serial number
getSpecificsFromCustomer
protected abstract Message getSpecificsFromCustomer() throws CustomerConsole. Cancelled
- Get specifics for the transaction from the customer - each
subclass must implement this appropriately.
- Returns:
- message to bank for initiating this transaction
- Throws: CustomerConsole. Cancelled
- if customer cancelled this transaction
completeTransaction
protected abstract Receipt completeTransaction() throws CustomerConsole. Cancelled
- Complete an approved transaction - each subclass must implement
this appropriately.
- Returns:
- receipt to be printed for this transaction
- Throws: CustomerConsole. Cancelled
- if customer cancelled this transaction
All Packages Class Hierarchy This Package Previous Next Index