package com.daviancorp.android.data.database;
import android.database.Cursor;
import android.database.CursorWrapper;
import com.daviancorp.android.data.classes.ArenaQuest;
import com.daviancorp.android.data.classes.Item;
import com.daviancorp.android.data.classes.Location;
/**
* A convenience class to wrap a cursor that returns rows from the "arena_quest"
* table. The {@link getArenaQuest()} method will give you a ArenaQuest instance
* representing the current row.
*/
public class ArenaQuestCursor extends CursorWrapper {
public ArenaQuestCursor(Cursor c) {
super(c);
}
/**
* Returns a ArenaQuest object configured for the current row, or null if the
* current row is invalid.
*/
public ArenaQuest getArenaQuest() {
if (isBeforeFirst() || isAfterLast())
return null;
ArenaQuest arenaQuest = new ArenaQuest();
long id = getLong(getColumnIndex(S.COLUMN_ARENA_QUESTS_ID));
String name = getString(getColumnIndex("a" + S.COLUMN_ARENA_QUESTS_NAME));
String goal = getString(getColumnIndex(S.COLUMN_ARENA_QUESTS_GOAL));
int reward = getInt(getColumnIndex(S.COLUMN_ARENA_QUESTS_REWARD));
int num_participants = getInt(getColumnIndex(S.COLUMN_ARENA_QUESTS_NUM_PARTICIPANTS));
String time_s = getString(getColumnIndex(S.COLUMN_ARENA_QUESTS_TIME_S));
String time_a = getString(getColumnIndex(S.COLUMN_ARENA_QUESTS_TIME_A));
String time_b = getString(getColumnIndex(S.COLUMN_ARENA_QUESTS_TIME_B));
arenaQuest.setId(id);
arenaQuest.setName(name);
arenaQuest.setGoal(goal);
arenaQuest.setReward(reward);
arenaQuest.setNumParticipants(num_participants);
arenaQuest.setTimeS(time_s);
arenaQuest.setTimeA(time_a);
arenaQuest.setTimeB(time_b);
// Get the Location
Location location = new Location();
long locationId = getLong(getColumnIndex(S.COLUMN_ARENA_QUESTS_LOCATION_ID));
String locationName = getString(getColumnIndex("l" + S.COLUMN_LOCATIONS_NAME));
// String fileLocation = getString(getColumnIndex(S.COLUMN_LOCATIONS_MAP));
location.setId(locationId);
location.setName(locationName);
// location.setFileLocation(fileLocation);
arenaQuest.setLocation(location);
return arenaQuest;
}
}