package test.appProfConverter; import java.util.HashMap; import java.util.Map; import org.w3c.dom.Element; import org.w3c.dom.NodeList; public class Processor { public Processor(Element e) throws Exception { LoadElement(e); } private void LoadElement(Element e) throws Exception { if (!e.getTagName().equals("Processor")) { throw new Exception("Invalid element tag."); } MaxClockSpeed = Double.parseDouble(e .getElementsByTagName("MaxClockSpeed").item(0).getChildNodes() .item(0).getNodeValue().trim()); Cores = Integer.parseInt(e.getElementsByTagName("Cores").item(0) .getChildNodes().item(0).getNodeValue().trim()); NodeList nl = e.getElementsByTagName("PState"); Pstate = new PhaseState[nl.getLength()]; Pstate_map = new HashMap(); for (int i = 0; i < Pstate.length; i++) { Element pstateEl = (Element) nl.item(i); PhaseState ps = new PhaseState(pstateEl); Pstate[i] = ps; Pstate_map.put(ps.Frequency, ps); } } public Double MaxClockSpeed; public Integer Cores; public PhaseState Pstate[]; public Map Pstate_map; public String ToString() { String str = ""; str += "Processor:\n"; str += " MaxClockSpeed: " + this.MaxClockSpeed + "\n"; str += " Cores: " + Integer.toString(this.Cores) + "\n"; str += " PStates:\n"; for (int i = 0; i < Pstate.length; i++) { str += Pstate[i].ToString(); } return str; } }