IGLib  1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
NUnit.Samples.Money.MoneyBag Class Reference

A MoneyBag defers exchange rate conversions. More...

+ Inheritance diagram for NUnit.Samples.Money.MoneyBag:
+ Collaboration diagram for NUnit.Samples.Money.MoneyBag:

Public Member Functions

 MoneyBag (Money[] bag)
 
 MoneyBag (Money m1, Money m2)
 
 MoneyBag (Money m, MoneyBag bag)
 
 MoneyBag (MoneyBag m1, MoneyBag m2)
 
IMoney Add (IMoney m)
 Adds a money to this money. More...
 
IMoney AddMoney (Money m)
 Adds a simple Money to this money. This is a helper method for implementing double dispatch. More...
 
IMoney AddMoneyBag (MoneyBag s)
 Adds a MoneyBag to this money. This is a helper method for implementing double dispatch. More...
 
override bool Equals (Object anObject)
 
override int GetHashCode ()
 
IMoney Multiply (int factor)
 Multiplies a money by the given factor. More...
 
IMoney Negate ()
 Negates this money. More...
 
IMoney Subtract (IMoney m)
 Subtracts a money from this money. More...
 
override String ToString ()
 

Properties

bool IsZero [get]
 
- Properties inherited from NUnit.Samples.Money.IMoney
bool IsZero [get]
 True if this money is zero. More...
 

Private Member Functions

 MoneyBag ()
 
void AppendBag (MoneyBag aBag)
 
void AppendMoney (Money aMoney)
 
bool Contains (Money aMoney)
 
Money FindMoney (String currency)
 
IMoney Simplify ()
 

Private Attributes

ArrayList fMonies = new ArrayList(5)
 

Detailed Description

A MoneyBag defers exchange rate conversions.

For example adding 12 Swiss Francs to 14 US Dollars is represented as a bag containing the two Monies 12 CHF and 14 USD. Adding another 10 Swiss francs gives a bag with 22 CHF and 14 USD. Due to the deferred exchange rate conversion we can later value a MoneyBag with different exchange rates.

A MoneyBag is represented as a list of Monies and provides different constructors to create a MoneyBag.

Constructor & Destructor Documentation

NUnit.Samples.Money.MoneyBag.MoneyBag ( )
inlineprivate
NUnit.Samples.Money.MoneyBag.MoneyBag ( Money[]  bag)
inline
NUnit.Samples.Money.MoneyBag.MoneyBag ( Money  m1,
Money  m2 
)
inline
NUnit.Samples.Money.MoneyBag.MoneyBag ( Money  m,
MoneyBag  bag 
)
inline
NUnit.Samples.Money.MoneyBag.MoneyBag ( MoneyBag  m1,
MoneyBag  m2 
)
inline

Member Function Documentation

IMoney NUnit.Samples.Money.MoneyBag.Add ( IMoney  m)
inline
IMoney NUnit.Samples.Money.MoneyBag.AddMoney ( Money  m)
inline

Adds a simple Money to this money. This is a helper method for implementing double dispatch.

Implements NUnit.Samples.Money.IMoney.

Referenced by NUnit.Samples.Money.Money.AddMoneyBag().

IMoney NUnit.Samples.Money.MoneyBag.AddMoneyBag ( MoneyBag  s)
inline

Adds a MoneyBag to this money. This is a helper method for implementing double dispatch.

Implements NUnit.Samples.Money.IMoney.

void NUnit.Samples.Money.MoneyBag.AppendBag ( MoneyBag  aBag)
inlineprivate
void NUnit.Samples.Money.MoneyBag.AppendMoney ( Money  aMoney)
inlineprivate
bool NUnit.Samples.Money.MoneyBag.Contains ( Money  aMoney)
inlineprivate
override bool NUnit.Samples.Money.MoneyBag.Equals ( Object  anObject)
inline
Money NUnit.Samples.Money.MoneyBag.FindMoney ( String  currency)
inlineprivate
override int NUnit.Samples.Money.MoneyBag.GetHashCode ( )
inline
IMoney NUnit.Samples.Money.MoneyBag.Multiply ( int  factor)
inline
IMoney NUnit.Samples.Money.MoneyBag.Negate ( )
inline
IMoney NUnit.Samples.Money.MoneyBag.Simplify ( )
inlineprivate
override String NUnit.Samples.Money.MoneyBag.ToString ( )
inline

Member Data Documentation

ArrayList NUnit.Samples.Money.MoneyBag.fMonies = new ArrayList(5)
private

Property Documentation

bool NUnit.Samples.Money.MoneyBag.IsZero
get

The documentation for this class was generated from the following file: