|
||||||||||
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 queuepublic 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 |