rendered paste body/* * To change this template, choose Tools | Templates * and open the template in the editor. */package cardmanager;import org.jmock.example.announcer.Announcer;/** * * @author babbitt *//* * Track active objects. */public class ActiveObjects { private Announcer<ActiveObjectsListener> activeObjectsListeners = Announcer.to(ActiveObjectsListener.class); public void addCardListener(ActiveObjectsListener activeObjectsListener) { activeObjectsListeners.addListener(activeObjectsListener); } public void removeCardListener(ActiveObjectsListener activeObjectsListener) { activeObjectsListeners.removeListener(activeObjectsListener); } private Card activeCard; private Resource activeResource; private Rule activeRule; private Descriptor activeDescriptor; public Card getActiveCard() { return activeCard; } public void setActiveCard(Card activeCard) { activeObjectsListeners.announce().setActiveCard(this, activeCard); this.activeCard = activeCard; } public Descriptor getActiveDescriptor() { return activeDescriptor; } public void setActiveDescriptor(Descriptor activeDescriptor) { activeObjectsListeners.announce().setActiveDescriptor(this, activeDescriptor); this.activeDescriptor = activeDescriptor; } public Resource getActiveResource() { return activeResource; } public void setActiveResource(Resource activeResource) { activeObjectsListeners.announce().setActiveResource(this, activeResource); this.activeResource = activeResource; } public Rule getActiveRule() { return activeRule; } public void setActiveRule(Rule activeRule) { activeObjectsListeners.announce().setActiveRule(this, activeRule); this.activeRule = activeRule; }} ---------------------------------------------------------/* * To change this template, choose Tools | Templates * and open the template in the editor. */package cardmanager;/** * * @author babbitt */public interface ActiveObjectsListener { void setActiveCard(ActiveObjects activeObjects, Card card); void setActiveDescriptor(ActiveObjects activeObjects, Descriptor descriptor); void setActiveResource(ActiveObjects activeObjects, Resource resource); void setActiveRule(ActiveObjects activeObjects, Rule rule);}-------------------------------------------------The Announcer class can be located here:http://svn.codehaus.org/jmock/trunk/jmock2/test/org/jmock/example/announcer/Announcer.java