Source of IMoney.java


  1: package junit.samples.money;
  2: 
  3: /**
  4:  * The common interface for simple Monies and MoneyBags
  5:  *
  6:  */
  7: public interface IMoney {
  8:         /**
  9:          * Adds a money to this money.
 10:          */
 11:         public abstract IMoney add(IMoney m);
 12:         /**
 13:          * Adds a simple Money to this money. This is a helper method for
 14:          * implementing double dispatch
 15:          */
 16:         public abstract IMoney addMoney(Money m);
 17:         /**
 18:          * Adds a MoneyBag to this money. This is a helper method for
 19:          * implementing double dispatch
 20:          */
 21:         public abstract IMoney addMoneyBag(MoneyBag s);
 22:         /**
 23:          * Tests whether this money is zero
 24:          */
 25:         public abstract boolean isZero();
 26:         /**
 27:          * Multiplies a money by the given factor.
 28:          */
 29:         public abstract IMoney multiply(int factor);
 30:         /**
 31:          * Negates this money.
 32:          */
 33:         public abstract IMoney negate();
 34:         /**
 35:          * Subtracts a money from this money.
 36:          */
 37:         public abstract IMoney subtract(IMoney m);
 38:         /**
 39:          * Append this to a MoneyBag m.
 40:          */
 41:         public abstract void appendTo(MoneyBag m);
 42: }