package com.juick.rss.extension; import com.rometools.rome.feed.module.Module; import com.rometools.rome.io.ModuleGenerator; import org.jdom2.Element; import org.jdom2.Namespace; import java.util.Collections; import java.util.HashSet; import java.util.Set; /** * Created by vt on 13/12/2016. */ public class JuickModuleGenerator implements ModuleGenerator { private static final Namespace JUICK_NS = Namespace.getNamespace("juick", JuickModule.URI); @Override public String getNamespaceUri() { return JuickModule.URI; } private static final Set NAMESPACES; static { Set nss = new HashSet(); nss.add(JUICK_NS); NAMESPACES = Collections.unmodifiableSet(nss); } @Override public Set getNamespaces() { return NAMESPACES; } @Override public void generate(Module module, Element element) { // this is not necessary, it is done to avoid the namespace definition in every item. Element root = element; while (root.getParent()!=null && root.getParent() instanceof Element) { root = (Element) element.getParent(); } root.addNamespaceDeclaration(JUICK_NS); JuickModule juickModule = (JuickModule) module; if (juickModule.getUid() > 0) { Element user = new Element("user", JUICK_NS); user.setAttribute("uid", String.valueOf(juickModule.getUid()), JUICK_NS); element.addContent(user); } } }