//===============================================
// 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();
	}	
}