Oracle® Fusion Middleware C++ API Reference for Oracle Coherence
12c (12.2.1.1.0)

E69640-01

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.

Author:
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.
void setFilters (ObjectArray::View vFilters)
 Set the array of filters associated with this listener object.
ObjectArray::View getFilters () const
 Return the array of filters associated with this listener object.
virtual TypedHandle
< const String
toString () const
 Output a human-readable description of this Object to the given stream.

Note that when overriding this method the return type must be TypedHandle<const String> rather then String::View. These two types are assignment compatible but not equivalent and declaring the override with String::View will not be a compatible override.

coherence::lang::operator<<(std::ostream, Object::View) is defined and will call into the toString 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 and is generally how toString() will be implemented.

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

 String::View vs = COH_TO_STRING(vKey << " = " << vValue);

The COH_TO_STRING macro is also the most common way to implement the toString method. For example:

 virtual TypedHandle<const String> Person::toString() const
     {
     return COH_TO_STRING("Name: " << f_sName << " SSN: " << f_nSSN);
     }

Returns:
a string representation of this object


Protected Member Functions

 Listeners ()
 Create a new Listeners instance.

Member Function Documentation

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

Add a listener.

Parameters:
hListener the EventListener to add

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

Remove a listener.

Parameters:
vListener the EventListener to remove

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

Add all listeners from another Listeners object.

Parameters:
vListeners the Listeners to add

virtual bool isEmpty (  )  const [virtual]

Check if there are no listeners.

Returns:
true if there are no listeners

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

Check if a listener is in the list of listeners.

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

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

Get the list of listeners.

Returns:
a the list of listeners

void setFilters ( ObjectArray::View  vFilters  ) 

Set the array of filters associated with this listener object.

Since:
Coherence 3.7.1.8
Parameters:
hFilters the array of filters

ObjectArray::View getFilters (  )  const

Return the array of filters associated with this listener object.

Since:
Coherence 3.7.1.8
Returns:
the array of filters


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