package com.android_mvc.sample_project.db.dao; import java.util.List; import com.android_mvc.sample_project.db.entity.Friend; import com.android_mvc.framework.db.DBHelper; import com.android_mvc.framework.db.dao.BaseDAO; import android.content.Context; /** * 友達を読み書きするクラス。 * @author id:language_and_engineering */ public class FriendDAO extends BaseDAO<Friend> { public FriendDAO(Context context) { helper = new DBHelper(context); } // ------------ C -------------- /** * 1人の友達を保存。 */ public Friend create(String name, Integer age, Boolean favoriteFlag) { // 論理エンティティを構築 Friend f = new Friend(); f.setName(name); f.setAge( age ); f.setFavorite_flag( favoriteFlag ); // DB登録 f.save(helper); return f; } // ------------ R -------------- /** * 友達を全て新しい順に返す。 */ public List<Friend> findAll() { return findAll(helper, Friend.class); } /** * 特定のIDの友達を1人返す。 */ public Friend findById(Long friend_id) { return findById( helper, Friend.class, friend_id ); } // NOTE: 細かい条件で検索したい場合は,Finderを利用すること。 // findAllやfindByIdの実装を参照。 // ------------ U -------------- /** * 既存の友達のお気に入り状態を反転させる。 */ public Friend invertFavoriteFlag( Long friend_id ) { // idをもとに検索 Friend f = findById( friend_id ); // フラグを反転する f.setFavorite_flag( ! f.getFavorite_flag() ); // DB更新 f.save(helper); return f; } // ------------ D -------------- /** * 特定のIDの友達を削除。 */ public void deleteById( Long friend_id ) { Friend f = findById(friend_id); // DBからの削除を実行 f.delete(helper); } }