package data.ooimpl;
import java.util.*;
import data.DataBasket;
import data.events.StockChangeEvent;
class CountingStockChangeEvent extends StockChangeEvent {
private int m_nCount;
private String m_sKey;
public CountingStockChangeEvent (CountingStockImpl csiSource,
DataBasket dbBasket,
String sKey,
int nCount) {
super (csiSource, dbBasket);
m_sKey = sKey;
m_nCount = nCount;
}
public String getAffectedKey() {
return m_sKey;
}
public int countAffectedItems() {
return m_nCount;
}
public Iterator getAffectedItems() {
return new Iterator() {
private int m_nRemaining = m_nCount;
public boolean hasNext() {
return (m_nRemaining > 0);
}
public Object next() {
if ((m_nRemaining--) <= 0) {
throw new NoSuchElementException();
}
return new StockItemImpl (m_sKey);
}
public void remove() {
throw new UnsupportedOperationException();
}
};
}
}