package org.itsnat.droid.impl.dom.layout; import org.itsnat.droid.impl.dom.XMLDOM; /** * Created by jmarranz on 27/10/14. */ public abstract class XMLDOMLayout extends XMLDOM { public XMLDOMLayout() { } /* public DOMView getRootView() { return (DOMView)getRootDOMElement(); } */ public static String extractLoadScriptMarkup(String markup,String[] markupNoLoadScript) { markupNoLoadScript[0] = markup; // Este es el patrón esperado: <script id="itsnat_load_script"><![CDATA[ code ]]></script></lastElement> String patternStart = "<script id=\"itsnat_load_script\"><![CDATA["; int start = markup.lastIndexOf(patternStart); if (start == -1) return null; // No hay script de carga start += patternStart.length(); String patternEnd = "]]></script>"; int end = markup.lastIndexOf(patternEnd); if (end == -1) return null; // No hay script de carga String loadScript = markup.substring(start,end); markupNoLoadScript[0] = markup.substring(0,start) + markup.substring(end); return loadScript; } public XMLDOMLayout partialClone() { // Reutilizamos t_odo excepto el loadInitScript pues es la única parte que cambia XMLDOMLayout cloned = createXMLDOMLayout(); partialClone(cloned); return cloned; } @Override public void partialClone(XMLDOM cloned) { super.partialClone(cloned); } protected abstract XMLDOMLayout createXMLDOMLayout(); }