package org.itsnat.droid.impl.dom; import org.itsnat.droid.impl.util.MapLight; import org.itsnat.droid.impl.util.NamespaceUtil; import java.util.ArrayList; import java.util.List; /** * Created by jmarranz on 3/11/14. */ public abstract class XMLDOM { protected MapLight<String,String> rootNamespacesByPrefix = new MapLight<String,String>(); // Se lee en multihilo pero se crea en monohilo por lo que no lo sincronizamos protected String androidNSPrefix; //protected String itsNatDroidResourceNSPrefix; protected DOMElement rootElement; protected List<DOMAttrRemote> remoteAttribList; public XMLDOM() { } public String getAndroidNSPrefix() { return androidNSPrefix; } /* public String getItsNatDroidResourceNSPrefix() { return itsNatDroidResourceNSPrefix; } */ public void addNamespace(String prefix,String ns) { rootNamespacesByPrefix.put(prefix, ns); if (NamespaceUtil.XMLNS_ANDROID.equals(ns)) this.androidNSPrefix = prefix; //else if (NamespaceUtil.XMLNS_ITSNATDROID_RESOURCE.equals(ns)) // this.itsNatDroidResourceNSPrefix = prefix; } public MapLight<String,String> getRootNamespacesByPrefix() { return rootNamespacesByPrefix; } public String getRootNamespaceByPrefix(String prefix) { return rootNamespacesByPrefix.get(prefix); } public DOMElement getRootDOMElement() { return rootElement; } public void setRootElement(DOMElement rootElement) { this.rootElement = rootElement; } public List<DOMAttrRemote> getDOMAttrRemoteList() { return remoteAttribList; } public void addDOMAttrRemote(DOMAttrRemote attr) { if (remoteAttribList == null) this.remoteAttribList = new ArrayList<DOMAttrRemote>(); remoteAttribList.add(attr); } public void partialClone(XMLDOM cloned) { cloned.rootNamespacesByPrefix = this.rootNamespacesByPrefix; cloned.androidNSPrefix = this.androidNSPrefix; cloned.rootElement = this.rootElement; cloned.remoteAttribList = this.remoteAttribList; } }