//===============================================
// Author: Josh Larsen Date Revised: $Date: 1996/05/30 14:29:09 $
// Class Name: MoneyAmount Version: $Revision: 1.2 $
// Filename: MoneyAmount.java
// Package: pcm.machine
// Purpose: This class symbolizes a monetary amount.
//===============================================
package com.nanosoft.pcm.machine;
import com.nanosoft.pcm.machine.*;
import java.io.*;
import java.util.*;
public class MoneyAmount extends Object {
private double amount;
public MoneyAmount() {amount = 0;}
public MoneyAmount(double monetaryAmount) {
amount = monetaryAmount;
}
public MoneyAmount add(MoneyAmount left, MoneyAmount right) {
return new MoneyAmount(left.getAmount() + right.getAmount());
}
public MoneyAmount subtract(MoneyAmount left, MoneyAmount right) throws InvalidOperationError {
MoneyAmount difference = new MoneyAmount(left.getAmount() - right.getAmount());
if (difference.getAmount() < 0.0) throw new InvalidOperationError();
else return difference;
}
public double getAmount() {
return amount;
}
public String toString(MoneyAmount money) {
return "$" + money.getAmount();
}
}