1 package com.mockobjects; 2 3 import com.mockobjects.ReturnObjectList; 4 import com.mockobjects.Verifiable; 5 import com.mockobjects.util.AssertMo; 6 import com.mockobjects.util.Null; 7 8 import java.util.*; 9 10 21 public class ReturnObjectBag implements Verifiable { 22 private final Hashtable returnObjectLists = new Hashtable(); 23 private final String name; 24 25 28 public ReturnObjectBag(String name) { 29 this.name = name; 30 } 31 32 38 public void putObjectToReturn(Object key, Object value) { 39 if (key == null) { 40 key = Null.NULL; 41 } 42 ReturnObjectList returnObjectList = (ReturnObjectList) returnObjectLists.get(key); 43 if (returnObjectList == null) { 44 returnObjectList = new ReturnObjectList(name + "." + key.toString()); 45 returnObjectLists.put(key, returnObjectList); 46 } 47 48 returnObjectList.addObjectToReturn(value); 49 } 50 51 57 public void putObjectToReturn(int key, Object value) { 58 putObjectToReturn(new Integer (key), value); 59 } 60 61 69 public void putObjectToReturn(Object key, int value) { 70 putObjectToReturn(key, new Integer (value)); 71 } 72 73 81 public void putObjectToReturn(Object key, boolean value) { 82 putObjectToReturn(key, new Boolean (value)); 83 } 84 85 90 public void verify() { 91 for (Iterator it = returnObjectLists.values().iterator(); it.hasNext();) { 92 ((ReturnObjectList) it.next()).verify(); 93 } 94 } 95 96 104 public Object getNextReturnObject(Object key) { 105 if (key == null) { 106 key = Null.NULL; 107 } 108 ReturnObjectList returnObjectList = (ReturnObjectList) returnObjectLists.get(key); 109 AssertMo.assertNotNull(name + " does not contain " + key.toString(), returnObjectList); 110 return returnObjectList.nextReturnObject(); 111 } 112 113 121 public Object getNextReturnObject(int key) { 122 return getNextReturnObject(new Integer (key)); 123 } 124 125 public Hashtable getHashTable(){ 126 return returnObjectLists; 127 } 128 129 public int getNextReturnInt(Object key) { 130 return ((Integer )getNextReturnObject(key)).intValue(); 131 } 132 133 public boolean getNextReturnBoolean(Object key) { 134 return ((Boolean )getNextReturnObject(key)).booleanValue(); 135 } 136 } 137 | Popular Tags |