package org.itsnat.droid.impl.xmlinflater; import org.itsnat.droid.ItsNatDroidException; import org.itsnat.droid.impl.xmlinflater.shared.classtree.ClassDesc; import java.util.HashMap; /** * Created by jmarranz on 6/11/14. */ public abstract class ClassDescMgr<TclassDesc extends ClassDesc> { protected XMLInflaterRegistry parent; protected final HashMap<String, TclassDesc> classes = new HashMap<String, TclassDesc>(); public ClassDescMgr(XMLInflaterRegistry parent) { this.parent = parent; } public XMLInflaterRegistry getXMLInflaterRegistry() { return parent; } public void addClassDesc(TclassDesc classDesc) { ClassDesc old = classes.put(classDesc.getClassOrDOMElemName(), classDesc); if (old != null) throw new ItsNatDroidException("Internal Error, duplicated: " + classDesc.getClassOrDOMElemName()); } public abstract TclassDesc get(String classOrDOMElemName); protected abstract void initClassDesc(); }