private static void writeLayer( final XMLExtendedStreamWriter writer, final Distribution.ProcessedLayer layer, final Element element) throws XMLStreamException { writer.writeStartElement(element.name); writer.writeAttribute(Attribute.NAME.name, layer.getName()); final Set<DistributionModuleItem> bundles = layer.getBundles(); final Set<DistributionModuleItem> modules = layer.getModules(); if (!bundles.isEmpty()) { writer.writeStartElement(Element.BUNDLES.name); for (final DistributionModuleItem item : bundles) { writeModuleItem(writer, item, Element.BUNDLE); } writer.writeEndElement(); } if (!modules.isEmpty()) { writer.writeStartElement(Element.MODULES.name); for (final DistributionModuleItem item : modules) { writeModuleItem(writer, item, Element.MODULE); } writer.writeEndElement(); } writer.writeEndElement(); }
protected static void readModuleItems( final XMLExtendedStreamReader reader, final Distribution.ProcessedLayer layer) throws XMLStreamException { while (reader.hasNext() && reader.nextTag() != END_ELEMENT) { final Element element = Element.forName(reader.getLocalName()); switch (element) { case BUNDLE: { final DistributionModuleItem item = readModuleItem(reader); layer.getBundles().add(item); break; } case MODULE: { final DistributionModuleItem item = readModuleItem(reader); layer.getModules().add(item); break; } default: throw unexpectedElement(reader); } } }