sdljava.event

Class SDLEventManager

public class SDLEventManager extends Object implements Runnable

The SDLEventManager is a thread helping us to handling SDL events.

Version: $Id: SDLEventManager.java,v 1.5 2005/02/11 07:00:09 doc_alton Exp $

Author: Bart LEBOEUF

Field Summary
static SDLEventManagerinstance
Class Instance
booleanisStopped
Stop thread flag
ThreadmanagerThread
Internal daemon thread reference
HashMaprepository
Inner repository contains listener list by event type.
Constructor Summary
SDLEventManager()
Constructor
Method Summary
intcountEventListeners()
Count how many event type is listened.
IteratorgetEventListeners()
Get an Iterator of events type listen.
static SDLEventManagergetInstance()
Get instance of this class
IteratorgetRegisteredListeners(Class eventType)
Get an Iterator of registered listeners for a particular event type.
voidnotifyEvent(SDLEvent event)
Notify all listeners registered for the event type of the new SDLEvent.
booleanregister(SDLEventListener listener, List events)
Register a listener for a list of events
booleanregister(SDLEventListener listener, Class eventType)
Register a listener for an event type
voidrun()
Run method for our thread.
voidstartAndWait()
Start listening and Wait a for events.
voidstop()
Stop handling the events.
booleanunregister(SDLEventListener listener)
Unregister a SDLEventListener
booleanunregisterAll()
Unregistered all listeners.

Field Detail

instance

private static SDLEventManager instance
Class Instance

isStopped

private volatile boolean isStopped
Stop thread flag

managerThread

private Thread managerThread
Internal daemon thread reference

repository

private HashMap repository
Inner repository contains listener list by event type.

Constructor Detail

SDLEventManager

private SDLEventManager()
Constructor

Method Detail

countEventListeners

public int countEventListeners()
Count how many event type is listened.

Returns: int number of event type registered.

getEventListeners

public Iterator getEventListeners()
Get an Iterator of events type listen.

Returns: Iterator return an Iterator of Event type.

getInstance

public static SDLEventManager getInstance()
Get instance of this class

Returns: SDLEventManager return this class instance

getRegisteredListeners

public Iterator getRegisteredListeners(Class eventType)
Get an Iterator of registered listeners for a particular event type.

Parameters: eventType SDLEvent type.

Returns: Iterator return an Iterator of listeners

notifyEvent

public void notifyEvent(SDLEvent event)
Notify all listeners registered for the event type of the new SDLEvent.

Parameters: event The new SDLEvent

register

public boolean register(SDLEventListener listener, List events)
Register a listener for a list of events

Parameters: listener The class implements SDLEventListener interface events A list of events or event types.

Returns: boolean return true if registration is done.

register

public boolean register(SDLEventListener listener, Class eventType)
Register a listener for an event type

Parameters: listener The class implements SDLEventListener interface eventType An SDL event type.

Returns: boolean return true if registration is done.

run

public void run()
Run method for our thread. If an SDLException as occured in a listener, it will not stop manager.

startAndWait

public void startAndWait()
Start listening and Wait a for events.

stop

public void stop()
Stop handling the events.

unregister

public boolean unregister(SDLEventListener listener)
Unregister a SDLEventListener

Parameters: listener The class implements SDLEventListener interface

Returns: boolean return true if unregistration is done.

unregisterAll

public boolean unregisterAll()
Unregistered all listeners.

Returns: boolean return true if all listeners are unregistered