package com.lateensoft.pathfinder.toolkit.db.dao.table; import android.content.ContentValues; import android.content.Context; import com.lateensoft.pathfinder.toolkit.db.dao.OwnedObject; import com.lateensoft.pathfinder.toolkit.db.dao.Table; import com.lateensoft.pathfinder.toolkit.db.dao.UniqueOwnerTableDAO; import com.lateensoft.pathfinder.toolkit.model.character.FluffInfo; import java.util.Hashtable; public class FluffDAO extends UniqueOwnerTableDAO<Long, FluffInfo> { public static final String TABLE = "FluffInfo"; private static final String CHARACTER_ID = "character_id"; private static final String ALIGNMENT = "Alignment"; private static final String XP = "XP"; private static final String NEXT_LEVEL_XP = "NextLevelXP"; private static final String PLAYER_CLASS = "PlayerClass"; private static final String RACE = "Race"; private static final String DEITY = "Deity"; private static final String LEVEL = "Level"; private static final String SIZE = "Size"; private static final String GENDER = "Gender"; private static final String HEIGHT = "Height"; private static final String WEIGHT = "Weight"; private static final String EYES = "Eyes"; private static final String HAIR = "Hair"; private static final String LANGUAGES = "Languages"; private static final String DESCRIPTION = "Description"; public FluffDAO(Context context) { super(context); } @Override protected Table initTable() { return new Table(TABLE, CHARACTER_ID, ALIGNMENT, XP, NEXT_LEVEL_XP, PLAYER_CLASS, RACE, DEITY, LEVEL, SIZE, GENDER, HEIGHT, WEIGHT, EYES, HAIR, LANGUAGES, DESCRIPTION); } @Override protected String getOwnerIdSelector(Long characterId) { return CHARACTER_ID + "=" + characterId; } @Override protected String getIdSelector(Long rowId) { return getOwnerIdSelector(rowId); } @Override protected Long getIdFromRowData(OwnedObject<Long, FluffInfo> rowData) { return rowData.getOwnerId(); } @Override protected ContentValues getContentValues(OwnedObject<Long, FluffInfo> rowData) { FluffInfo object = rowData.getObject(); ContentValues values = new ContentValues(); values.put(CHARACTER_ID, rowData.getOwnerId()); values.put(ALIGNMENT, object.getAlignment()); values.put(XP, object.getXP()); values.put(NEXT_LEVEL_XP, object.getNextLevelXP()); values.put(PLAYER_CLASS, object.getPlayerClass()); values.put(RACE, object.getRace()); values.put(DEITY, object.getDeity()); values.put(LEVEL, object.getLevel()); values.put(SIZE, object.getSize()); values.put(GENDER, object.getGender()); values.put(HEIGHT, object.getHeight()); values.put(WEIGHT, object.getWeight()); values.put(EYES, object.getEyes()); values.put(HAIR, object.getHair()); values.put(LANGUAGES, object.getLanguages()); values.put(DESCRIPTION, object.getDescription()); return values; } @Override protected FluffInfo buildFromHashTable(Hashtable<String, Object> hashTable) { String alignment = (String) hashTable.get(ALIGNMENT); String xp = (String) hashTable.get(XP); String nextLevelXp = (String) hashTable.get(NEXT_LEVEL_XP); String playerClass = (String) hashTable.get(PLAYER_CLASS); String race = (String) hashTable.get(RACE); String deity = (String) hashTable.get(DEITY); String level = (String) hashTable.get(LEVEL); String size = (String) hashTable.get(SIZE); String gender = (String) hashTable.get(GENDER); String height = (String) hashTable.get(HEIGHT); String weight = (String) hashTable.get(WEIGHT); String eyes = (String) hashTable.get(EYES); String hair = (String) hashTable.get(HAIR); String languages = (String) hashTable.get(LANGUAGES); String description = (String) hashTable.get(DESCRIPTION); FluffInfo fluff = new FluffInfo(); fluff.setAlignment(alignment); fluff.setXP(xp); fluff.setNextLevelXP(nextLevelXp); fluff.setPlayerClass(playerClass); fluff.setRace(race); fluff.setDeity(deity); fluff.setLevel(level); fluff.setSize(size); fluff.setGender(gender); fluff.setHeight(height); fluff.setWeight(weight); fluff.setEyes(eyes); fluff.setHair(hair); fluff.setLanguages(languages); fluff.setDescription(description); return fluff; } }