KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mule > tck > testmodels > fruit > FruitBowl


1 /*
2  * $Id: FruitBowl.java 3798 2006-11-04 04:07:14Z aperepel $
3  * --------------------------------------------------------------------------------------
4  * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
5  *
6  * The software in this package is published under the terms of the MuleSource MPL
7  * license, a copy of which has been included with this distribution in the
8  * LICENSE.txt file.
9  */

10
11 package org.mule.tck.testmodels.fruit;
12
13 import org.apache.commons.logging.Log;
14 import org.apache.commons.logging.LogFactory;
15
16 import java.util.HashMap JavaDoc;
17 import java.util.Iterator JavaDoc;
18 import java.util.Map JavaDoc;
19
20 public class FruitBowl
21 {
22     /**
23      * logger used by this class
24      */

25     private static Log logger = LogFactory.getLog(FruitBowl.class);
26
27     private Map JavaDoc bowl = new HashMap JavaDoc();
28
29     public FruitBowl()
30     {
31         super();
32     }
33
34     public FruitBowl(Fruit fruit[])
35     {
36         for (int i = 0; i < fruit.length; i++)
37         {
38             bowl.put(fruit[i].getClass(), fruit[i]);
39         }
40     }
41
42     public FruitBowl(Apple apple, Banana banana)
43     {
44         bowl.put(Apple.class, apple);
45         bowl.put(Banana.class, banana);
46     }
47
48     public boolean hasApple()
49     {
50         return bowl.get(Apple.class) != null;
51     }
52
53     public boolean hasBanana()
54     {
55         return bowl.get(Banana.class) != null;
56     }
57
58     public Object JavaDoc consumeFruit(FruitLover fruitlover)
59     {
60         logger.debug("Got a fruit lover who says: " + fruitlover.speak());
61         for (Iterator JavaDoc iter = bowl.values().iterator(); iter.hasNext();)
62         {
63             ((Fruit)iter.next()).bite();
64         }
65         return fruitlover;
66     }
67
68     public void setFruit(Fruit[] fruit)
69     {
70         for (int i = 0; i < fruit.length; i++)
71         {
72             bowl.put(fruit[i].getClass(), fruit[i]);
73         }
74     }
75
76     public Apple getApple()
77     {
78         return (Apple)bowl.get(Apple.class);
79     }
80
81     public void setApple(Apple apple)
82     {
83         bowl.put(Apple.class, apple);
84     }
85
86     public Banana getBanana()
87     {
88         return (Banana)bowl.get(Banana.class);
89     }
90
91     public void setBanana(Banana banana)
92     {
93         bowl.put(Banana.class, banana);
94     }
95 }
96
Popular Tags