org.android.activityminer.app.recording
Class GenericRecordingActivityForSensorObservations.SaveTask

Package class diagram package GenericRecordingActivityForSensorObservations.SaveTask
java.lang.Object
  extended by java.lang.Thread
      extended by de.unikassel.android.sdcframework.util.AbstractWorkerThread
          extended by org.android.activityminer.app.recording.GenericRecordingActivityForSensorObservations.SaveTask
All Implemented Interfaces:
WorkerThread, Runnable
Enclosing class:
GenericRecordingActivityForSensorObservations<T extends Enum<T> & Dimensions>

private class GenericRecordingActivityForSensorObservations.SaveTask
extends AbstractWorkerThread

The save task.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
private  DBManager dbManager
          the database manager
(package private)  AtomicBoolean doTerminate
          Flag to terminate as soon as queue is empty
private  BlockingQueue<SensorObservationCutout<T,Double>> queue
          Queue to store cut-outs in for saving
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
GenericRecordingActivityForSensorObservations.SaveTask(Context context)
          Constructor
 
Method Summary
protected  void doCleanUp()
           
protected  void doWork()
           
 void enqueue(SensorObservationCutout<T,Double> cutOut)
          Does enqueue a cut-out for storage
 boolean hasEmptyQueue()
          Test method if queue is empty
 void saveCutOut(SensorObservationCutout<T,Double> data)
          The saving method for cut-outs
 
Methods inherited from class de.unikassel.android.sdcframework.util.AbstractWorkerThread
doTerminate, hasTerminated, isLogging, isWorking, logMessage, run, setLogging, start, startWork, stopWork
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

doTerminate

final AtomicBoolean doTerminate
Flag to terminate as soon as queue is empty


queue

private final BlockingQueue<SensorObservationCutout<T extends Enum<T> & Dimensions,Double>> queue
Queue to store cut-outs in for saving


dbManager

private final DBManager dbManager
the database manager

Constructor Detail

GenericRecordingActivityForSensorObservations.SaveTask

public GenericRecordingActivityForSensorObservations.SaveTask(Context context)
Constructor

Parameters:
context - the context
Method Detail

doWork

protected final void doWork()
Specified by:
doWork in class AbstractWorkerThread

enqueue

public final void enqueue(SensorObservationCutout<T,Double> cutOut)
Does enqueue a cut-out for storage

Parameters:
cutOut - the cut-out to enqueue

hasEmptyQueue

public final boolean hasEmptyQueue()
Test method if queue is empty

Returns:
true if queue is empty, false otherwise

saveCutOut

public final void saveCutOut(SensorObservationCutout<T,Double> data)
                      throws Exception
The saving method for cut-outs

Parameters:
data - the cut-out to store in background
Throws:
Exception - in case of storage errors

doCleanUp

protected final void doCleanUp()
Specified by:
doCleanUp in class AbstractWorkerThread