package com.eure.citrus.model.repository; import com.eure.citrus.model.entity.Task; import android.support.annotation.NonNull; import io.realm.Realm; import io.realm.RealmResults; /** * Created by katsuyagoto on 15/06/25. */ public class TaskRepository { /** * * @param realm * @param name * @param groupName * @return */ public static Task create(@NonNull Realm realm, @NonNull String name, String groupName) { realm.beginTransaction(); Task task = realm.createObject(Task.class); task.setName(name); if (groupName != null) { task.setGroupName(groupName); } realm.commitTransaction(); return task; } /** * * @param realm * @param task */ public static void delete(@NonNull Realm realm, Task task) { realm.beginTransaction(); task.removeFromRealm(); realm.commitTransaction(); } /** * * @param realm * @param task * @param completed * @return */ public static Task updateByCompleted(@NonNull Realm realm, Task task, boolean completed) { realm.beginTransaction(); task.setCompleted(completed); realm.commitTransaction(); return task; } /** * * @param realm * @return */ public static long count(@NonNull Realm realm) { return realm.where(Task.class) .count(); } /** * * @param realm * @param completed * @return */ public static long countByCompleted(@NonNull Realm realm, boolean completed) { return realm.where(Task.class) .equalTo("completed", completed) .count(); } /** * * @param realm * @return */ public static RealmResults<Task> findAll(@NonNull Realm realm) { return realm.where(Task.class) .findAll(); } /** * * @param realm * @param completed * @return */ public static RealmResults<Task> findAllByCompleted(@NonNull Realm realm, boolean completed) { return realm.where(Task.class) .equalTo("completed", completed) .findAll(); } /** * * @param realm * @param groupName * @return */ public static RealmResults<Task> findAllByGroupName(@NonNull Realm realm, String groupName) { return realm.where(Task.class) .equalTo("groupName", groupName) .findAll(); } }