com.sas.util
Class AlarmListenerList

com.sas.util.AlarmListenerList
All Implemented Interfaces:
AlarmListener, java.io.Serializable, java.util.EventListener

public final class AlarmListenerList
implements java.io.Serializable, AlarmListener

Manage a list of listeners for the com.sas.util.AlarmEvent event. This class is normally used in classes which implement the

See Also:
AlarmEvent, AlarmListener, com.sas.tools.GenerateEventListenerList, Serialized Form

Constructor Summary
AlarmListenerList()
          Construct a default AlarmListenerList
AlarmListenerList(int initialIncrement)
          Construct a default AlarmListenerList with a specific initialIncrement.
AlarmListenerList(int initialIncrement, boolean logExceptions, boolean reThrowExceptions)
          Construct a AlarmListenerList
 
Method Summary
 void add(AlarmListener listener)
          Add a listener to the list of listeners.
 int count()
          return the number of listeners.
 void fireAlarm(AlarmEvent event)
          Send a AlarmEvent event to all the AlarmListener objects in the listener list by invoking AlarmListener.fireAlarm(com.sas.util.AlarmEvent event).
 AlarmListener[] getListeners()
          Return a safe copy of the list of listeners for this event.
protected  void handleException(java.lang.RuntimeException exception)
          Handle an exception caught while delivering an event to a listener in the list.
 boolean isExceptionLoggingEnabled()
          Return true if this listener list is currently logging exceptions that are caught when delivering events to listeners in the list.
 boolean isExceptionReThrown()
          Return the setting indicating whether the event delivery loops re-throw any caught exceptions.
 void remove(AlarmListener listener)
          Remove a listener from the list of listeners.
 void setExceptionLoggingEnabled(boolean logExceptions)
          Set whether this listener list logs exceptions caught when delivering an event to a listener.
 void setExceptionReThrown(boolean reThrow)
          Specify whether this listener list should rethrow exceptions caught when delivering an event to a listener.
 

Constructor Detail

AlarmListenerList

public AlarmListenerList()
Construct a default AlarmListenerList


AlarmListenerList

public AlarmListenerList(int initialIncrement,
                         boolean logExceptions,
                         boolean reThrowExceptions)
Construct a AlarmListenerList


AlarmListenerList

public AlarmListenerList(int initialIncrement)
Construct a default AlarmListenerList with a specific initialIncrement.

Parameters:
initialIncrement - how much to grow the internal array of listeners when it fills up and must be extended to allow adding new listeners.
Method Detail

count

public int count()
return the number of listeners.

Returns:
the number of listeners.

setExceptionLoggingEnabled

public void setExceptionLoggingEnabled(boolean logExceptions)
Set whether this listener list logs exceptions caught when delivering an event to a listener.

Parameters:
logExceptions - if true, exceptions are logged to System.err
See Also:
setExceptionReThrown(boolean)

isExceptionLoggingEnabled

public boolean isExceptionLoggingEnabled()
Return true if this listener list is currently logging exceptions that are caught when delivering events to listeners in the list.

Returns:
true if caught exceptiosn will be logged.

handleException

protected void handleException(java.lang.RuntimeException exception)
Handle an exception caught while delivering an event to a listener in the list. If exception logging is enabled, print the exception and traceback to System.err. If exception rethrow is enabled, rethtrow the exception.

See Also:
setExceptionLoggingEnabled(boolean), setExceptionReThrown(boolean)

setExceptionReThrown

public void setExceptionReThrown(boolean reThrow)
Specify whether this listener list should rethrow exceptions caught when delivering an event to a listener. If true, then the event is not delivered to any other listeners in this listener class. It is expected that the class that owns this listener list will handle the exception in some way.

Parameters:
reThrow - if true, an exception caught when delivering an event to a listener is rethrown and the event is not delivered to any remaining listeners. Use extreme caution when setting this to true. If false, exceptions are ignored (although they may be logged).
See Also:
setExceptionLoggingEnabled(boolean)

isExceptionReThrown

public boolean isExceptionReThrown()
Return the setting indicating whether the event delivery loops re-throw any caught exceptions.

Returns:
true if caught exceptions are rethrown.

add

public void add(AlarmListener listener)
Add a listener to the list of listeners.

Parameters:
listener - a new listener for the AlarmEvent event

getListeners

public AlarmListener[] getListeners()
Return a safe copy of the list of listeners for this event. The client may iterate over this list and send events to the clients in a thread safe manner; calls to addAlarmListener or removeAlarmListener may take place but do not affect this copied listener list.

Returns:
a safe arry copy of the listener list. The array contains no null items.

remove

public void remove(AlarmListener listener)
Remove a listener from the list of listeners.

Parameters:
listener - the listener to remove from the list.

fireAlarm

public void fireAlarm(AlarmEvent event)
Send a AlarmEvent event to all the AlarmListener objects in the listener list by invoking AlarmListener.fireAlarm(com.sas.util.AlarmEvent event). If necessary, the listener list is copied first, so the event is sent only to each item which is in the list at the time this method is called, even if adds or removes are performed after the event send has started.

Specified by:
fireAlarm in interface AlarmListener
Parameters:
event - the event to send



Copyright © 2009 SAS Institute Inc. All Rights Reserved.