How 0monish0/step2nd works
This repository contains successive Java banking-account exercises, not a deployed banking service. The main workflow is to create an account, then manage deposits, PIN-protected withdrawals, and account status; the exception-based version reports invalid operations with domain exceptions. The root account classes are separate implementations, while ACTIVITY5 adds explicit exceptions and activity7 begins an abstract account model. The tree and excerpts do not show a complete activity7 application or its supporting exception and account-type implementations, so those connections are omitted.
Main entry points: Account.java Account Lifecycle · AccountException.java Account Exception · InvalidAmountException.java Invalid Amount · InactiveAccountException.java Inactive Account
Components 11
Root Account Variants
- Basic Account
Account.java - Enhanced Account
AccountEnhanced.java
Exception Account
- Account Lifecycle
ACTIVITY5/Account.java - Account Exception
ACTIVITY5/AccountException.java - Invalid Amount
ACTIVITY5/InvalidAmountException.java - Inactive Account
ACTIVITY5/InactiveAccountException.java - Insufficient Balance
ACTIVITY5/InsufficientBalanceException.java - Minimum Balance
ACTIVITY5/MinimumBalanceViolationException.java - Invalid PIN
ACTIVITY5/InvalidPinException.java
Abstract Domain
- Abstract Account
activity7/src/com/gdb/domain/Account.java
Other components
- Caller
Connections 14
- Caller → Basic Account: creates and operates
- Caller → Enhanced Account: creates and operates
- Caller → Account Lifecycle: creates and operates
- Account Lifecycle → Invalid Amount: throws
- Account Lifecycle → Inactive Account: throws
- Account Lifecycle → Insufficient Balance: throws
- Account Lifecycle → Invalid PIN: throws
- Account Lifecycle → Minimum Balance: declares
- Invalid Amount → Account Exception: extends
- Inactive Account → Account Exception: extends
- Insufficient Balance → Account Exception: extends
- Invalid PIN → Account Exception: extends
- Minimum Balance → Account Exception: extends
- Caller → Abstract Account: uses