1e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria/*
2e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria * Copyright (C) 2017 The Android Open Source Project
3e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria *
4e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria * Licensed under the Apache License, Version 2.0 (the "License");
5e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria * you may not use this file except in compliance with the License.
6e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria * You may obtain a copy of the License at
7e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria *
8e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria *      http://www.apache.org/licenses/LICENSE-2.0
9e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria *
10e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria * Unless required by applicable law or agreed to in writing, software
11e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria * distributed under the License is distributed on an "AS IS" BASIS,
12e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria * See the License for the specific language governing permissions and
14e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria * limitations under the License.
15e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria */
16564e43098c323d1a90be53c190b8fdbdde973505Sumir Katariapackage androidx.work.integration.testapp.db;
17e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria
18e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Katariaimport android.arch.lifecycle.LiveData;
19e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Katariaimport android.arch.persistence.room.Dao;
20e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Katariaimport android.arch.persistence.room.Insert;
21e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Katariaimport android.arch.persistence.room.Query;
22e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria
23e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Katariaimport java.util.List;
24e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria
25e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria/**
26e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria * The Data Access Object for {@link WordCount}.
27e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria */
28e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria@Dao
29e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Katariapublic interface WordCountDao {
30e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria
31e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria    /**
32e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria     * Inserts a {@link WordCount} into the database.
33e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria     *
34e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria     * @param wordCount The {@link WordCount} to insert
35e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria     */
36e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria    @Insert
37e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria    void insertWordCount(WordCount wordCount);
38e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria
39e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria    /**
40e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria     * Gets all {@link WordCount}s in the database.
41e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria     *
42e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria     * @return A {@link LiveData} list of all {@link WordCount}s in the database
43e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria     */
44e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria    @Query("SELECT * FROM wordcount")
45e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria    LiveData<List<WordCount>> getWordCounts();
46e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria
47e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria    /**
48e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria     * Clears the database.
49e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria     */
50e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria    @Query("DELETE FROM wordcount")
51e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria    void clear();
52e89fa65672b38c2f8c80f0e89e592a0b175d24aeSumir Kataria}
53