The TargetableCommand interface declares one method, performExecute, that application programmer must implement.
... public class ModifyCheckingAccountCmdImpl extends TargetableCommandImpl implements ModifyCheckingAccountCmd { ... // Method from the TargetableCommand interface public void performExecute() throws Exception { CheckingAccount checkingAccount = getCheckingAccount(); oldBalance = checkingAccount.getBalance(); balance = oldBalance+amount; checkingAccount.setBalance(balance); setHasOutputProperties(true); } public void setOutputProperties(TargetableCommand fromCommand) { try { if (fromCommand != null) { ModifyCheckingAccountCmd modifyCheckingAccountCmd = (ModifyCheckingAccountCmd) fromCommand; this.oldBalance = modifyCheckingAccountCmd.getOldBalance(); this.balance = modifyCheckingAccountCmd.getBalance(); this.checkingAccount = modifyCheckingAccountCmd.getCheckingAccount(); this.amount = modifyCheckingAccountCmd.getAmount(); } } catch (Exception ex) { System.out.println("Error in setOutputProperties."); } } ... }