org.simantics.databoard.accessor.impl
Class ListenerEntry

java.lang.Object
  extended by org.simantics.databoard.accessor.impl.ListenerEntry

public class ListenerEntry
extends java.lang.Object

ListenerEntry is a linked list of pairs

Author:
Toni Kalajainen

Field Summary
 InterestSet interestSet
           
 Accessor.Listener listener
           
 ListenerEntry next
           
 AccessorReference path
           
 
Constructor Summary
ListenerEntry(Accessor.Listener listener, InterestSet interestSet, AccessorReference path)
           
 
Method Summary
 void emitEvent(Event e)
          Emits an event to the listener.
 void emitEvents(java.util.Collection<Event> events)
           
<T extends InterestSet>
T
getInterestSet()
           
static ListenerEntry link(ListenerEntry prevValue, Accessor.Listener listener, InterestSet interestSet, AccessorReference path)
          Add new entry to listener list
static ListenerEntry remove(ListenerEntry firstEntry, Accessor.Listener listener)
          Remove listener entry from linked list
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

listener

public Accessor.Listener listener

interestSet

public InterestSet interestSet

path

public AccessorReference path

next

public ListenerEntry next
Constructor Detail

ListenerEntry

public ListenerEntry(Accessor.Listener listener,
                     InterestSet interestSet,
                     AccessorReference path)
Method Detail

link

public static ListenerEntry link(ListenerEntry prevValue,
                                 Accessor.Listener listener,
                                 InterestSet interestSet,
                                 AccessorReference path)
Add new entry to listener list

Parameters:
prevValue -
listener -
interestSet -
Returns:
the new assignment for the list

getInterestSet

public <T extends InterestSet> T getInterestSet()

remove

public static ListenerEntry remove(ListenerEntry firstEntry,
                                   Accessor.Listener listener)
Remove listener entry from linked list

Parameters:
firstEntry -
listener - the value to be removed
Returns:
the new assignment for the list

emitEvent

public void emitEvent(Event e)
Emits an event to the listener. NOTE, Event instance can be emited only once. This method writes to the e.reference field.

Parameters:
e -

emitEvents

public void emitEvents(java.util.Collection<Event> events)