package com.ibm.nmon.parser.gc.state;
import com.ibm.nmon.parser.gc.GCParserContext;
/**
* Helper state that transitions back to a parent state when a given end element is encountered.
*/
class GCStateWithParent implements GCState {
protected final String transitionElement;
protected final GCState parent;
GCStateWithParent(String transitionElement, GCState parent) {
this.transitionElement = transitionElement;
this.parent = parent;
}
public GCState startElement(GCParserContext context, String elementName, String unparsedAttributes) {
return this;
}
public GCState endElement(GCParserContext context, String elementName) {
if (elementName.equals(transitionElement)) {
return parent;
}
else {
return this;
}
}
@Override
public void reset() {}
}