public class EventBacklog
extends java.lang.Object
EventLog instances
 for later parsing. This container, however, will not add more than two
 logs with the same (id, eventType, action) tuple.
 
 Further, the container can only either be in the adding state or the removing
 state. A newly created EventBacklog is in the adding state. The
 popping state is entered the first time that remove() is called. And
 the adding state will only be re-entered, once remove() has returned
 null and logs is empty.
 
 All calls to add(EventLog) while in the popping state will return
 false.| Modifier and Type | Field and Description | 
|---|---|
| protected boolean | addingSwitch between the adding and the removing states. | 
| Constructor and Description | 
|---|
| EventBacklog() | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | add(ome.model.meta.EventLog log)Adds the given  EventLoginstance to the end of a queue for laterpoppingif no equivalentEventLogis present. | 
| void | flipState()Flips the  EventBacklogto the "adding" state if it is empty,
 otherwise to the "removing" state. | 
| ome.model.meta.EventLog | remove()Removes and returns the next  EventLoginstance or null if none is
 present. | 
| boolean | removingOnly()Check the current state of the  EventBacklog. | 
public boolean add(ome.model.meta.EventLog log)
EventLog instance to the end of a queue for later
 popping if no equivalent EventLog is present.
 Equivalence is based on the entityType, entityId, and action fields.
 Records tracking information to prevent the same EventLog from
 being re-added before the last instance is removed.public ome.model.meta.EventLog remove()
EventLog instance or null if none is
 present. Also cleans up any tracking information for the given
 EventLog.public void flipState()
EventBacklog to the "adding" state if it is empty,
 otherwise to the "removing" state. This is necessary since the indexing
 happens only at flush time in the
 FullTextIndexer. This
 restriction means in any one batch only either backlog or new event logs
 will be processed.EventLogLoader.hasNext()public boolean removingOnly()
EventBacklog. If in the
 "removingOnly" state, then any calls to add(EventLog) will
 return false.