/** * Copyright (c) 2012 Todoroo Inc * * See the file "LICENSE" for the full license governing this code. */ package com.todoroo.astrid.data; import android.content.Context; import com.todoroo.andlib.data.ContentResolverDao; import com.todoroo.andlib.sql.Criterion; /** * Data access object for accessing Astrid's {@link Metadata} table. A * piece of Metadata is information about a task, for example a tag or a * note. It operates in a one-to-many relation with tasks. * * @author Tim Su <tim@todoroo.com> * */ public class MetadataApiDao extends ContentResolverDao<Metadata> { public MetadataApiDao(Context context) { super(Metadata.class, context, Metadata.CONTENT_URI); } /** * Generates SQL clauses */ public static class MetadataCriteria { /** Returns all metadata associated with a given task */ public static Criterion byTask(long taskId) { return Metadata.TASK.eq(taskId); } /** Returns all metadata associated with a given key */ public static Criterion withKey(String key) { return Metadata.KEY.eq(key); } /** Returns all metadata associated with a given key */ public static Criterion byTaskAndwithKey(long taskId, String key) { return Criterion.and(withKey(key), byTask(taskId)); } } }