View Javadoc
1   /*******************************************************************************
2    *   Gisgraphy Project 
3    * 
4    *   This library is free software; you can redistribute it and/or
5    *   modify it under the terms of the GNU Lesser General Public
6    *   License as published by the Free Software Foundation; either
7    *   version 2.1 of the License, or (at your option) any later version.
8    * 
9    *   This library is distributed in the hope that it will be useful,
10   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12   *   Lesser General Public License for more details.
13   * 
14   *   You should have received a copy of the GNU Lesser General Public
15   *   License along with this library; if not, write to the Free Software
16   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
17   * 
18   *  Copyright 2008  Gisgraphy project 
19   *  David Masclet <davidmasclet@gisgraphy.com>
20   *  
21   *  
22   *******************************************************************************/
23  package com.gisgraphy.domain.geoloc.entity.event;
24  
25  import java.util.List;
26  
27  import org.springframework.beans.factory.annotation.Required;
28  import org.springframework.stereotype.Component;
29  
30  /**
31   * Manage all the Event Received. Default implementation of
32   * {@link IEventManager}
33   * 
34   * @author <a href="mailto:david.masclet@gisgraphy.com">David Masclet</a>
35   */
36  @Component
37  public class EventManager implements IEventManager {
38  
39      /**
40       * The listeners that must be aware of events
41       */
42      private List<IEventListener> listeners;
43  
44      /*
45       * (non-Javadoc)
46       * 
47       * @see com.gisgraphy.domain.geoloc.entity.event.IEventManager#handleEvent(com.gisgraphy.domain.geoloc.entity.event.IEvent)
48       */
49      public void handleEvent(IEvent event) {
50  	for (IEventListener listener : listeners) {
51  	    if (listener.supports(event)) {
52  		listener.handleEvent(event);
53  	    }
54  	}
55      }
56  
57      /**
58       * @param listeners
59       *                The listeners to set that must be aware of events
60       */
61      @Required
62      public void setListeners(List<IEventListener> listeners) {
63  	this.listeners = listeners;
64      }
65  
66  }