package com.daviancorp.android.data.database; import android.database.Cursor; import android.database.CursorWrapper; import com.daviancorp.android.data.classes.Item; import com.daviancorp.android.data.classes.Quest; import com.daviancorp.android.data.classes.QuestReward; /** * A convenience class to wrap a cursor that returns rows from the "quest_reward" * table. The {@link getQuestReward()} method will give you a QuestReward instance * representing the current row. */ public class QuestRewardCursor extends CursorWrapper { public QuestRewardCursor(Cursor c) { super(c); } /** * Returns a QuestReward object configured for the current row, or null if the * current row is invalid. */ public QuestReward getQuestReward() { if (isBeforeFirst() || isAfterLast()) return null; QuestReward questReward = new QuestReward(); long id = getLong(getColumnIndex(S.COLUMN_QUEST_REWARDS_ID)); String reward_slot = getString(getColumnIndex(S.COLUMN_QUEST_REWARDS_REWARD_SLOT)); int percentage = getInt(getColumnIndex(S.COLUMN_QUEST_REWARDS_PERCENTAGE)); int stack_size = getInt(getColumnIndex(S.COLUMN_QUEST_REWARDS_STACK_SIZE)); questReward.setId(id); questReward.setRewardSlot(reward_slot); questReward.setPercentage(percentage); questReward.setStackSize(stack_size); // Get the Item Item item = new Item(); long itemId = getLong(getColumnIndex(S.COLUMN_QUEST_REWARDS_ITEM_ID)); String itemName = getString(getColumnIndex("i" + S.COLUMN_ITEMS_NAME)); // String jpnName = getString(getColumnIndex(S.COLUMN_ITEMS_JPN_NAME)); // String type = getString(getColumnIndex(S.COLUMN_ITEMS_TYPE)); // int rarity = getInt(getColumnIndex(S.COLUMN_ITEMS_RARITY)); // int carry_capacity = getInt(getColumnIndex(S.COLUMN_ITEMS_CARRY_CAPACITY)); // int buy = getInt(getColumnIndex(S.COLUMN_ITEMS_BUY)); // int sell = getInt(getColumnIndex(S.COLUMN_ITEMS_SELL)); // String description = getString(getColumnIndex(S.COLUMN_ITEMS_DESCRIPTION)); String fileLocation = getString(getColumnIndex(S.COLUMN_ITEMS_ICON_NAME)); // String armor_dupe_name_fix = getString(getColumnIndex(S.COLUMN_ITEMS_ARMOR_DUPE_NAME_FIX)); item.setId(itemId); item.setName(itemName); // item.setJpnName(jpnName); // item.setType(type); // item.setRarity(rarity); // item.setCarryCapacity(carry_capacity); // item.setBuy(buy); // item.setSell(sell); // item.setDescription(description); item.setFileLocation(fileLocation); // item.setArmorDupeNameFix(armor_dupe_name_fix); questReward.setItem(item); // Get the Quest Quest quest = new Quest(); long questId = getLong(getColumnIndex(S.COLUMN_QUEST_REWARDS_QUEST_ID)); String questName = getString(getColumnIndex("q" + S.COLUMN_QUESTS_NAME)); // String goal = getString(getColumnIndex(S.COLUMN_QUESTS_GOAL)); String hub = getString(getColumnIndex(S.COLUMN_QUESTS_HUB)); // String type = getString(getColumnIndex(S.COLUMN_QUESTS_TYPE)); String stars = getString(getColumnIndex(S.COLUMN_QUESTS_STARS)); // int timeLimit = getInt(getColumnIndex(S.COLUMN_QUESTS_TIME_LIMIT)); // int fee = getInt(getColumnIndex(S.COLUMN_QUESTS_FEE)); // int reward = getInt(getColumnIndex(S.COLUMN_QUESTS_REWARD)); // int hrp = getInt(getColumnIndex(S.COLUMN_QUESTS_HRP)); quest.setId(questId); quest.setName(questName); // quest.setGoal(goal); quest.setHub(hub); // quest.setType(type); quest.setStars(stars); // quest.setTimeLimit(timeLimit); // quest.setFee(fee); // quest.setReward(reward); // quest.setHrp(hrp); questReward.setQuest(quest); return questReward; } }