package simple.android.eveapi.character;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;
import simple.android.eveapi.BaseRPC;
import simple.android.eveapi.RowElementListener;
import simple.android.eveapi.RowsetElementListener;
import simple.android.eveapi.RowsetStartElementListener;
import android.sax.Element;
import android.sax.EndTextElementListener;
public class CharacterSheet extends BaseRPC {
private int characterID;
private String name;
private String race;
private Date DoB;
private String bloodLine;
private String ancestry;
private String gender;
private String corporationName;
private int corporationID;
private String allianceName;
private int allianceID;
private String cloneName;
private int cloneSkill;
private float balance;
/*
* private HashMap<String, HashMap<String, String>> attributesEnchancers =
* new LinkedHashMap<String, HashMap<String, String>>();
*/
private Map<String, Integer> attributes = new LinkedHashMap<String, Integer>();
private Map<String, Map<String, Map<String, String>>> rowsets = new LinkedHashMap<String, Map<String, Map<String, String>>>();
public Map<String, Map<String, String>> getSkills() {
return rowsets.get("skills");
}
public Map<String, Map<String, String>> getCertificates() {
return rowsets.get("certificates");
}
public Map<String, Map<String, String>> getCorporationRoles() {
return rowsets.get("corporationRoles");
}
public Map<String, Map<String, String>> getCorporationRolesAtHQ() {
return rowsets.get("corporationRolesAtHQ");
}
public Map<String, Map<String, String>> getCorporationRolesAtBase() {
return rowsets.get("corporationRolesAtBase");
}
public Map<String, Map<String, String>> getCorporationRolesAtOther() {
return rowsets.get("corporationRolesAtOther");
}
public Map<String, Map<String, String>> getCorporationTitles() {
return rowsets.get("corporationTitles");
}
public int getCharacterID() {
return characterID;
}
public String getName() {
return name;
}
public String getRace() {
return race;
}
public Date getDoB() {
return DoB;
}
public String getBloodLine() {
return bloodLine;
}
public String getAncestry() {
return ancestry;
}
public String getGender() {
return gender;
}
public String getCorporationName() {
return corporationName;
}
public int getCorporationID() {
return corporationID;
}
public String getAllianceName() {
return allianceName;
}
public int getAllianceID() {
return allianceID;
}
public String getCloneName() {
return cloneName;
}
public int getCloneSkill() {
return cloneSkill;
}
public float getBalance() {
return balance;
}
@Override
protected void internalParse(Element result) {
super.internalParse(result);
result.getChild("characterID").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
characterID = Integer.valueOf(body);
}
});
result.getChild("name").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
name = body;
}
});
result.getChild("race").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
race = body;
}
});
result.getChild("DoB").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
DoB = parseDateTime(body);
}
});
result.getChild("bloodLine").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
bloodLine = body;
}
});
result.getChild("ancestry").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
ancestry = body;
}
});
result.getChild("gender").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
gender = body;
}
});
result.getChild("corporationName").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
corporationName = body;
}
});
result.getChild("corporationID").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
corporationID = Integer.valueOf(body);
}
});
result.getChild("allianceName").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
allianceName = body;
}
});
result.getChild("allianceID").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
allianceID = Integer.valueOf(body);
}
});
result.getChild("cloneName").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
cloneName = body;
}
});
result.getChild("cloneSkill").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
cloneSkill = Integer.valueOf(body);
}
});
result.getChild("balance").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
balance = Float.valueOf(body);
}
});
// attributesEnchancers
// attributes
Element attrs = result.getChild("attributes");
attrs.getChild("intelligence").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
attributes.put("intelligence", Integer.valueOf(body));
}
});
attrs.getChild("memory").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
attributes.put("memory", Integer.valueOf(body));
}
});
attrs.getChild("charisma").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
attributes.put("charisma", Integer.valueOf(body));
}
});
attrs.getChild("perception").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
attributes.put("perception", Integer.valueOf(body));
}
});
attrs.getChild("willpower").setEndTextElementListener(
new EndTextElementListener() {
@Override
public void end(String body) {
attributes.put("willpower", Integer.valueOf(body));
}
});
// all rowsets
RowsetElementListener rowset_listener = new RowsetElementListener(
new RowsetStartElementListener() {
@Override
public Map<String, Map<String, String>> rowsetMapForName(
String rowsetname) {
if (!rowsets.containsKey(rowsetname))
rowsets.put(
rowsetname,
new LinkedHashMap<String, Map<String, String>>());
return rowsets.get(rowsetname);
}
});
Element rowset = result.getChild("rowset");
rowset.setStartElementListener(rowset_listener);
rowset.getChild("row").setStartElementListener(
new RowElementListener(rowset_listener));
}
}
|