}
public JavaMethod getXMLHandlersStartElementMethod(ComplexTypeSG pController, JavaSource pSource,
DirectAccessible pLevelVar)
throws SAXException {
JavaMethod jm = pSource.newJavaMethod("startElement", void.class, JavaSource.PUBLIC);
DirectAccessible pNamespaceURI = jm.addParam(String.class, "pNamespaceURI");
DirectAccessible pLocalName = jm.addParam(String.class, "pLocalName");
DirectAccessible pQName = jm.addParam(String.class, "pQName");
DirectAccessible pAttr = jm.addParam(Attributes.class, "pAttr");
jm.addThrows(SAXException.class);
jm.addSwitch(pLevelVar, "++");
jm.addCase("0");
jm.addLine("setResult(newResult());");
jm.addIf(pAttr, " != null");
String iVar = jm.getLocalVariableName();
jm.addFor("int ", iVar, " = 0; ", iVar, " < pAttr.getLength(); ", iVar, "++");
AttributeSG[] myAttributes = pController.getAttributes();
if (myAttributes.length == 0) {
jm.addLine("super.addAttribute(", pAttr, ".getURI(", iVar, "), ", pAttr, ".getLocalName(", iVar,
"), ", pAttr, ".getValue(", iVar, "));");
} else {
jm.addLine("addAttribute(", pAttr, ".getURI(", iVar, "), ", pAttr, ".getLocalName(", iVar,
"), ", pAttr, ".getValue(", iVar, "));");
}
jm.addEndFor();
jm.addEndIf();
jm.addBreak();
if (pController.hasSimpleContent()) {
jm.addDefault();
jm.addLine("super.startElement(pNamespaceURI, pLocalName, pQName, pAttr);");
jm.addBreak();
} else {
PlaceHolder placeHolder = jm.newPlaceHolder("GroupSG", true);
placeHolder.setProperty("pNamespaceURI", pNamespaceURI);
placeHolder.setProperty("pLocalName", pLocalName);
placeHolder.setProperty("pQName", pQName);
placeHolder.setProperty("pAttr", pAttr);
}
jm.addEndSwitch();
return jm;
}