package org.rubypeople.rdt.internal.debug.core.parsing;
import org.rubypeople.rdt.debug.core.RdtDebugCorePlugin;
import org.xmlpull.v1.XmlPullParser;
public class BreakpointModificationReader extends XmlStreamReader {
private String no;
public BreakpointModificationReader(XmlPullParser xpp) {
super(xpp);
}
public BreakpointModificationReader(AbstractReadStrategy readStrategy) {
super(readStrategy);
}
public int readBreakpointNo() throws NumberFormatException {
try {
this.read();
} catch (Exception ex) {
RdtDebugCorePlugin.log(ex);
return -1;
}
return Integer.parseInt(no);
}
@Override
protected boolean processStartElement(XmlPullParser xpp) throws XmlStreamReaderException {
boolean result = false;
if (xpp.getName().equals("breakpointAdded")) {
no = xpp.getAttributeValue("", "no");
result = true;
} else if (xpp.getName().equals("breakpointDeleted")) {
no = xpp.getAttributeValue("", "no");
result = true;
} else if (xpp.getName().equals("error")) {
no = "-1";
result = true;
}
return result;
}
@Override
public void processContent(String text) {}
@Override
protected boolean processEndElement(XmlPullParser xpp) {
return xpp.getName().equals("breakpointAdded") || xpp.getName().equals("breakpointDeleted") || xpp.getName().equals("error");
}
}