}
StartElement el = e.asStartElement();
if (el.getName().getLocalPart().equals("depends")) {
Attribute pluginAttr = el.getAttributeByName(new QName("plugin"));
if (pluginAttr == null) {
throw new IllegalArgumentException("Couldn't find the 'plugin' attribute on a 'depends' element in the plugin descriptor of plugin '" + archive + "'.");
}
String pluginName = pluginAttr.getValue();
boolean required = true;
boolean useClasses = false;
Attribute requiredAttr = el.getAttributeByName(new QName("required"));
if (requiredAttr != null) {
required = Boolean.parseBoolean(requiredAttr.getValue());
}
Attribute useClassesAttr = el.getAttributeByName(new QName("useClasses"));
if (useClassesAttr != null) {
useClasses = Boolean.parseBoolean(useClassesAttr.getValue());
}
ret.add(new PluginDep(pluginName, useClasses, required));
}
}