in src/main/java/org/apache/commons/scxml2/io/SCXMLReader.java [1111:1151]
private static void readInvoke(final XMLStreamReader reader, final Configuration configuration,
final TransitionalState parent)
throws XMLStreamException, ModelException {
final Invoke invoke = new Invoke();
invoke.setId(readAV(reader, SCXMLConstants.ATTR_ID));
invoke.setIdlocation(readAV(reader, SCXMLConstants.ATTR_IDLOCATION));
invoke.setSrc(readAV(reader, SCXMLConstants.ATTR_SRC));
invoke.setSrcexpr(readAV(reader, SCXMLConstants.ATTR_SRCEXPR));
invoke.setType(readAV(reader, SCXMLConstants.ATTR_TYPE));
invoke.setAutoForward(readBooleanAV(reader, SCXMLConstants.ELEM_INVOKE, SCXMLConstants.ATTR_AUTOFORWARD));
invoke.setNamelist(readAV(reader, SCXMLConstants.ATTR_NAMELIST));
loop : while (reader.hasNext()) {
String name, nsURI;
switch (reader.next()) {
case XMLStreamConstants.START_ELEMENT:
nsURI = reader.getNamespaceURI();
name = reader.getLocalName();
if (SCXMLConstants.XMLNS_SCXML.equals(nsURI)) {
if (SCXMLConstants.ELEM_PARAM.equals(name)) {
readParam(reader, configuration, invoke);
} else if (SCXMLConstants.ELEM_FINALIZE.equals(name)) {
readFinalize(reader, configuration, parent, invoke);
} else if (SCXMLConstants.ELEM_CONTENT.equals(name)) {
readContent(reader, configuration, invoke);
} else {
reportIgnoredElement(reader, configuration, SCXMLConstants.ELEM_INVOKE, nsURI, name);
}
} else {
reportIgnoredElement(reader, configuration, SCXMLConstants.ELEM_INVOKE, nsURI, name);
}
break;
case XMLStreamConstants.END_ELEMENT:
break loop;
default:
}
}
parent.addInvoke(invoke);
}