com.todoroo.astrid.sync
Class SyncMetadataService<TYPE extends SyncContainer>

java.lang.Object
  extended by com.todoroo.astrid.sync.SyncMetadataService<TYPE>

public abstract class SyncMetadataService<TYPE extends SyncContainer>
extends java.lang.Object


Field Summary
static java.lang.String TAG_KEY
          metadata key of tag add-on
 
Constructor Summary
SyncMetadataService(android.content.Context context)
           
 
Method Summary
 void clearMetadata()
          Clears metadata information.
abstract  TYPE createContainerFromLocalTask(Task task, java.util.ArrayList<Metadata> metadata)
          create a task container based on the given data
 void findLocalMatch(TYPE remoteTask)
          Searches for a local task with same remote id, updates this task's id
 TodorooCursor<Task> getLocallyCreated(Property<?>... properties)
          Gets tasks that were created since last sync
 TodorooCursor<Task> getLocallyUpdated(Property<?>... properties)
          Gets tasks that were modified since last sync
abstract  Criterion getLocalMatchCriteria(TYPE remoteTask)
           
abstract  Criterion getMetadataCriteria()
           
abstract  java.lang.String getMetadataKey()
           
abstract  Criterion getMetadataWithRemoteId()
           
 Metadata getTaskMetadata(long taskId)
          Reads metadata out of a task
abstract  SyncProviderUtilities getUtilities()
           
 TYPE readTaskAndMetadata(TodorooCursor<Task> taskCursor)
          Reads a task and its metadata
 void saveTaskAndMetadata(TYPE task)
          Saves a task and its metadata
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TAG_KEY

public static final java.lang.String TAG_KEY
metadata key of tag add-on

See Also:
Constant Field Values
Constructor Detail

SyncMetadataService

public SyncMetadataService(android.content.Context context)
Method Detail

getMetadataKey

public abstract java.lang.String getMetadataKey()
Returns:
metadata key identifying this sync provider's metadata

getUtilities

public abstract SyncProviderUtilities getUtilities()
Returns:
sync provider utilities

createContainerFromLocalTask

public abstract TYPE createContainerFromLocalTask(Task task,
                                                  java.util.ArrayList<Metadata> metadata)
create a task container based on the given data


getMetadataCriteria

public abstract Criterion getMetadataCriteria()
Returns:
criterion for matching all metadata keys that your provider synchronizes

getLocalMatchCriteria

public abstract Criterion getLocalMatchCriteria(TYPE remoteTask)
Returns:
criterion for finding local matches of sync container in task database

getMetadataWithRemoteId

public abstract Criterion getMetadataWithRemoteId()
Returns:
criterion for matching metadata that indicate remote task exists

clearMetadata

public void clearMetadata()
Clears metadata information. Used when user logs out of sync provider


getLocallyCreated

public TodorooCursor<Task> getLocallyCreated(Property<?>... properties)
Gets tasks that were created since last sync

Parameters:
properties -
Returns:

getLocallyUpdated

public TodorooCursor<Task> getLocallyUpdated(Property<?>... properties)
Gets tasks that were modified since last sync

Parameters:
properties -
Returns:
null if never sync'd

findLocalMatch

public void findLocalMatch(TYPE remoteTask)
Searches for a local task with same remote id, updates this task's id

Parameters:
remoteTask -

saveTaskAndMetadata

public void saveTaskAndMetadata(TYPE task)
Saves a task and its metadata

Parameters:
task -

readTaskAndMetadata

public TYPE readTaskAndMetadata(TodorooCursor<Task> taskCursor)
Reads a task and its metadata

Parameters:
task -
Returns:

getTaskMetadata

public Metadata getTaskMetadata(long taskId)
Reads metadata out of a task

Returns:
null if no metadata found