Oracle Coherence for C++ API


Listeners Class Reference

#include <coherence/util/Listeners.hpp>

Inherits Object.

List of all members.

Detailed Description

Provides a simple, efficient, and thread-safe implementation of a list of event listeners.

The implementation is optimized based on the assumption that listeners are added and removed relatively rarely, and that the list of listeners is requested relatively often.

Thread safety is implemented by synchronizing on all methods that modify any data member of the class. Read-only methods are not synchronized.

jh 2007.12.13

Public Types

typedef spec::Handle Handle
 Listeners Handle definition.
typedef spec::View View
 Listeners View definition.
typedef spec::Holder Holder
 Listeners Holder definition.

Public Member Functions

virtual void add (EventListener::Handle hListener)
 Add a listener.
virtual void remove (EventListener::View vListener)
 Remove a listener.
virtual void addAll (Listeners::View vListeners)
 Add all listeners from another Listeners object.
virtual void removeAll ()
 Remove all listeners.
virtual bool isEmpty () const
 Check if there are no listeners.
virtual bool contains (EventListener::Handle hListener) const
 Check if a listener is in the list of listeners.
virtual ObjectArray::View listeners () const
 Get the list of listeners.
virtual void toStream (std::ostream &out) const
 Output a human-readable description of this Object to the given stream.

coherence::lang::operator<<(std::ostream, Object::View) is defined and will call into the toStream method, to output Objects. If a managed String object is desired, the COH_TO_STRING macro can be used to build up a String from streamable contents.

 Object::View vKey   = ...
 Object::View vValue = ...
 std::cout << vKey << " = " << vValue << std::endl;

 String::Handle hs = COH_TO_STRING(vKey << " = " << vValue);

out the stream used to output the description

Protected Member Functions

 Listeners ()
 Create a new Listeners instance.

Member Function Documentation

virtual void add ( EventListener::Handle  hListener  )  [virtual]

Add a listener.

hListener the EventListener to add

virtual void remove ( EventListener::View  vListener  )  [virtual]

Remove a listener.

vListener the EventListener to remove

virtual void addAll ( Listeners::View  vListeners  )  [virtual]

Add all listeners from another Listeners object.

vListeners the Listeners to add

virtual bool isEmpty (  )  const [virtual]

Check if there are no listeners.

true if there are no listeners

virtual bool contains ( EventListener::Handle  hListener  )  const [virtual]

Check if a listener is in the list of listeners.

hListener the EventListener to search for
true if the listener is in the list of listeners

virtual ObjectArray::View listeners (  )  const [virtual]

Get the list of listeners.

a the list of listeners

The documentation for this class was generated from the following file:
Copyright © 2000, 2011, Oracle and/or its affiliates. All rights reserved.