package com.lateensoft.pathfinder.toolkit.serialize; import com.lateensoft.pathfinder.toolkit.model.character.FluffInfo; import org.dom4j.Element; import java.io.InvalidObjectException; /** * @author tsiemens */ public class FluffXMLAdapter extends XMLObjectAdapter<FluffInfo> { public static final String ELEMENT_NAME = "fluff"; private static final String ALIGN_ELMT = "alignment"; private static final String XP_ELMT = "xp"; private static final String NEXT_XP_ELMT = "next-level-xp"; private static final String CLASS_ELMT = "class"; private static final String RACE_ELMT = "race"; private static final String DEITY_ELMT = "deity"; private static final String LEVEL_ELMT = "level"; private static final String SIZE_ELMT = "size"; private static final String GENDER_ELMT = "gender"; private static final String HEIGHT_ELMT = "height"; private static final String WEIGHT_ELMT = "weight"; private static final String EYES_ELMT = "eyes"; private static final String HAIR_ELMT = "hair"; private static final String LANGS_ELMT = "languages"; private static final String DESC_ELMT = "desc"; @Override public String getElementName() { return ELEMENT_NAME; } @Override protected void setElementContentForObject(Element element, FluffInfo fluff) { addSubElementText(element, ALIGN_ELMT, fluff.getAlignment()); addSubElementText(element, XP_ELMT, fluff.getXP()); addSubElementText(element, NEXT_XP_ELMT, fluff.getNextLevelXP()); addSubElementText(element, CLASS_ELMT, fluff.getPlayerClass()); addSubElementText(element, RACE_ELMT, fluff.getRace()); addSubElementText(element, DEITY_ELMT, fluff.getDeity()); addSubElementText(element, LEVEL_ELMT, fluff.getLevel()); addSubElementText(element, SIZE_ELMT, fluff.getSize()); addSubElementText(element, GENDER_ELMT, fluff.getGender()); addSubElementText(element, HEIGHT_ELMT, fluff.getHeight()); addSubElementText(element, WEIGHT_ELMT, fluff.getWeight()); addSubElementText(element, EYES_ELMT, fluff.getEyes()); addSubElementText(element, HAIR_ELMT, fluff.getHair()); addSubElementText(element, LANGS_ELMT, fluff.getLanguages()); addSubElementText(element, DESC_ELMT, fluff.getDescription()); } @Override protected FluffInfo createObjectForElement(Element element) throws InvalidObjectException { FluffInfo fluff = new FluffInfo(); fluff.setAlignment(getSubElementText(element, ALIGN_ELMT)); fluff.setXP(getSubElementText(element, XP_ELMT)); fluff.setNextLevelXP(getSubElementText(element, NEXT_XP_ELMT)); fluff.setPlayerClass(getSubElementText(element, CLASS_ELMT)); fluff.setRace(getSubElementText(element, RACE_ELMT)); fluff.setDeity(getSubElementText(element, DEITY_ELMT)); fluff.setLevel(getSubElementText(element, LEVEL_ELMT)); fluff.setSize(getSubElementText(element, SIZE_ELMT)); fluff.setGender(getSubElementText(element, GENDER_ELMT)); fluff.setHeight(getSubElementText(element, HEIGHT_ELMT)); fluff.setWeight(getSubElementText(element, WEIGHT_ELMT)); fluff.setEyes(getSubElementText(element, EYES_ELMT)); fluff.setHair(getSubElementText(element, HAIR_ELMT)); fluff.setLanguages(getSubElementText(element, LANGS_ELMT)); fluff.setDescription(getSubElementText(element, DESC_ELMT)); return fluff; } }