|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||

java.lang.Objectde.unikassel.android.sdcframework.util.EventCollectorImpl<T>
T - the collected event type extending ObservableEventpublic final class EventCollectorImpl<T extends ObservableEvent>
Generic type implementing a thread safe event queue.
The class does provide an observer for the event type to collect, which can
be added to an observable event source. The observed events be enqueued
automatically in an internal thread safe event queue.
Stored events can be dequeued by a call to dequeue() for
further processing.
For example, the
AbstractAsynchrounousSampleObserver is using an instance of this class
bounded to Sample
to asynchronously queue observed sensor samples.
EventCollector| Nested Class Summary | |
|---|---|
private class |
EventCollectorImpl.EventObserverImpl
Inner class implementing the event observer for the event type |
| Field Summary | |
|---|---|
private ObservableEventSourceImpl<EventError> |
errorEventSource
The observable error event source |
private EventCollectorImpl.EventObserverImpl |
eventObserver
The event observer |
private BlockingQueue<T> |
queue
the queue to store the events in |
| Constructor Summary | |
|---|---|
EventCollectorImpl()
Constructor |
|
| Method Summary | |
|---|---|
void |
clearCollectedEvents()
Does clear the collected event queue |
T |
dequeue()
Method to dequeue an event. |
int |
dequeue(Collection<? super T> collection,
int maxElements)
Method to dequeue more than one element event. |
boolean |
enqueue(T event)
Method to enqueue an event |
ObservableEventSourceImpl<EventError> |
getErrorEventSource()
Getter for the observable error event source |
int |
getEventCount()
Getter for the count collected and stored events |
EventObserver<T> |
getEventObserver()
Getter for the event observer |
boolean |
hasObservers()
Test method for observers. |
void |
notify(EventError data)
Does set the changed flag and notifies all observers |
void |
registerEventObserver(EventObserver<? extends EventError> observer)
Does register an observer |
void |
removeAllObservers()
Does remove all registered observers |
private void |
setErrorEventSource(ObservableEventSourceImpl<EventError> errorEventSource)
Setter for the observable error event source |
private void |
setEventObserver(EventCollectorImpl.EventObserverImpl eventObserver)
Setter for the eventObserver |
void |
unregisterEventObserver(EventObserver<? extends EventError> observer)
Does delete a registered observer |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private final BlockingQueue<T extends ObservableEvent> queue
private EventCollectorImpl.EventObserverImpl eventObserver
private ObservableEventSourceImpl<EventError> errorEventSource
| Constructor Detail |
|---|
public EventCollectorImpl()
| Method Detail |
|---|
private final void setEventObserver(EventCollectorImpl.EventObserverImpl eventObserver)
eventObserver - the eventObserver to setpublic final EventObserver<T> getEventObserver()
EventCollector
getEventObserver in interface EventCollector<T extends ObservableEvent>public final ObservableEventSourceImpl<EventError> getErrorEventSource()
private final void setErrorEventSource(ObservableEventSourceImpl<EventError> errorEventSource)
errorEventSource - the observable error event source to setpublic final boolean enqueue(T event)
EventCollector
enqueue in interface EventCollector<T extends ObservableEvent>event - the event to enqueue
public final T dequeue()
throws InterruptedException
EventCollector
dequeue in interface EventCollector<T extends ObservableEvent>InterruptedException - is thrown if a calling thread is interrupted while blocking at
the internal queue
public int dequeue(Collection<? super T> collection,
int maxElements)
EventCollector
dequeue in interface EventCollector<T extends ObservableEvent>collection - the collection to dequeue elements intomaxElements - the maximum element count to dequeue
public final int getEventCount()
EventCollector
getEventCount in interface EventCollector<T extends ObservableEvent>public final void clearCollectedEvents()
EventCollector
clearCollectedEvents in interface EventCollector<T extends ObservableEvent>public final void registerEventObserver(EventObserver<? extends EventError> observer)
ObserverRegistration
registerEventObserver in interface ObserverRegistration<EventError>observer - the observer to addpublic final void unregisterEventObserver(EventObserver<? extends EventError> observer)
ObserverRegistration
unregisterEventObserver in interface ObserverRegistration<EventError>observer - the observer to deletepublic final void removeAllObservers()
ObserverRegistration
removeAllObservers in interface ObserverRegistration<EventError>public final void notify(EventError data)
ObservableEventSource
notify in interface ObservableEventSource<EventError>data - the observable event data to create notifications forpublic boolean hasObservers()
ObservableEventSource
hasObservers in interface ObservableEventSource<EventError>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||