aQute.bnd.metatype.OCDDef Maven / Gradle / Ivy
package aQute.bnd.metatype;
import java.util.*;
import aQute.bnd.osgi.*;
import aQute.lib.tag.*;
public class OCDDef {
final static String NAMESPACE_STEM = "http://www.osgi.org/xmlns/metatype/v";
final static String VERSION = "1.3.0";
final List attributes = new ArrayList();
final List icons = new ArrayList();
final List designates = new ArrayList();
String id;
String name;
String localization;
String description;
void prepare(Analyzer analyzer) {
}
Tag getTag() {
String namespace = NAMESPACE_STEM + VERSION;
Tag metadata = new Tag("metatype:MetaData").addAttribute("xmlns:metatype", namespace);
if (localization != null) {
metadata.addAttribute("localization", localization);
}
Tag ocd = new Tag(metadata, "OCD").addAttribute("id", id);
if (name != null) {
ocd.addAttribute("name", name);
}
if (description != null) {
ocd.addAttribute("description", description);
}
for (ADDef ad: attributes) {
ocd.addContent(ad.getTag());
}
for (IconDef icon: icons) {
ocd.addContent(icon.getTag());
}
for (DesignateDef designate: designates) {
metadata.addContent(designate.getTag());
}
return metadata;
}
}