document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. // Deposit.java
  2. // Represents a deposit ATM transaction
  3. public class Deposit extends Transaction
  4. {
  5. private double amount; // amount to deposit
  6. private Keypad keypad; // reference to keypad
  7. private DepositSlot depositSlot; // reference to deposit slot
  8. private final static int CANCELED = 0; // constant for cancel option
  9. // Deposit constructor
  10. public Deposit( int userAccountNumber, Screen atmScreen,
  11. BankDatabase atmBankDatabase, Keypad atmKeypad,
  12. DepositSlot atmDepositSlot )
  13. {
  14. // initialize superclass variables
  15. super( userAccountNumber, atmScreen, atmBankDatabase );
  16.  
  17. // initialize references to keypad and deposit slot
  18. keypad = atmKeypad;
  19. depositSlot = atmDepositSlot;
  20. } // end Deposit constructor
  21. // perform transaction
  22. @Override
  23. public void execute()
  24. {
  25. BankDatabase bankDatabase = getBankDatabase(); // get reference
  26. Screen screen = getScreen(); // get reference
  27. amount = promptForDepositAmount(); // get deposit amount from user
  28. // check whether user entered a deposit amount or canceled
  29. if ( amount != CANCELED )
  30. {
  31. // request deposit envelope containing specified amount
  32. screen.displayMessage("\\nPlease insert a deposit envelope containing " );
  33. screen.displayDollarAmount( amount );
  34. screen.displayMessageLine( "." );
  35. // receive deposit envelope
  36. boolean envelopeReceived = depositSlot.isEnvelopeReceived();
  37.  
  38. // check whether deposit envelope was received
  39. if ( envelopeReceived )
  40. {
  41. screen.displayMessageLine( "\\nYour envelope has been " +
  42. "received.\\nNOTE: The money just deposited will not " +
  43. "be available until we verify the amount of any " +
  44. "enclosed cash and your checks clear." );
  45. // credit account to reflect the deposit
  46. bankDatabase.credit( getAccountNumber(), amount );
  47. } // end if
  48. else // deposit envelope not received
  49. {
  50. screen.displayMessageLine( "\\nYou did not insert an " +
  51. "envelope, so the ATM has canceled your transaction." );
  52. } // end else
  53. } // end if
  54. else // user canceled instead of entering amount
  55. {
  56. screen.displayMessageLine( "\\nCanceling transaction..." );
  57. } // end else
  58. } // end method execute
  59. // prompt user to enter a deposit amount in cents
  60. private double promptForDepositAmount()
  61. {
  62. Screen screen = getScreen(); // get reference to screen
  63. // display the prompt
  64. screen.displayMessage( "\\nPlease enter a deposit amount in " +
  65. "CENTS (or 0 to cancel): " );
  66. int input = keypad.getInput(); // receive input of deposit amount
  67. // check whether the user canceled or entered a valid amount
  68. if ( input == CANCELED )
  69. return CANCELED;
  70. else
  71. {
  72. return ( double ) input / 100; // return dollar amount
  73. } // end else
  74. } // end method promptForDepositAmount
  75. } // end class Deposit�
');