1 57 package com.sun.org.apache.wml.internal.dom; 58 59 import java.io.*; 60 import java.util.*; 61 import java.lang.reflect.*; 62 import org.w3c.dom.*; 63 import org.w3c.dom.html.*; 64 import com.sun.org.apache.xerces.internal.dom.DocumentImpl; 65 import com.sun.org.apache.xerces.internal.dom.NodeImpl; 66 import com.sun.org.apache.xerces.internal.dom.AttrImpl; 67 import org.w3c.dom.DOMException ; 68 import com.sun.org.apache.wml.internal.*; 69 70 74 75 public class WMLDocumentImpl extends DocumentImpl implements WMLDocument { 76 77 private static Hashtable _elementTypesWML; 78 private static final Class [] _elemClassSigWML = 79 new Class [] { WMLDocumentImpl.class, String .class }; 80 81 public Element createElement( String tagName ) throws DOMException 82 { 83 Class elemClass; 84 Constructor cnst; 85 86 elemClass = (Class ) _elementTypesWML.get( tagName ); 87 if ( elemClass != null ) { 88 try { 89 cnst = elemClass.getConstructor( _elemClassSigWML ); 90 return (Element) cnst.newInstance( new Object [] { this, tagName } ); 91 } catch ( Exception except ) { 92 Throwable thrw; 93 94 if ( except instanceof java.lang.reflect.InvocationTargetException ) 95 thrw = ( (java.lang.reflect.InvocationTargetException ) except ).getTargetException(); 96 else 97 thrw = except; 98 99 System.out.println( "Exception " + thrw.getClass().getName() ); 100 System.out.println( thrw.getMessage() ); 101 102 throw new IllegalStateException ( "Tag '" + tagName + "' associated with an Element class that failed to construct." ); 103 } 104 } 105 return new WMLElementImpl( this, tagName ); 106 } 107 108 static { 109 _elementTypesWML = new Hashtable(); 110 _elementTypesWML.put("b", WMLBElementImpl.class); 111 _elementTypesWML.put("noop", WMLNoopElementImpl.class); 112 _elementTypesWML.put("a", WMLAElementImpl.class); 113 _elementTypesWML.put("setvar", WMLSetvarElementImpl.class); 114 _elementTypesWML.put("access", WMLAccessElementImpl.class); 115 _elementTypesWML.put("strong", WMLStrongElementImpl.class); 116 _elementTypesWML.put("postfield", WMLPostfieldElementImpl.class); 117 _elementTypesWML.put("do", WMLDoElementImpl.class); 118 _elementTypesWML.put("wml", WMLWmlElementImpl.class); 119 _elementTypesWML.put("tr", WMLTrElementImpl.class); 120 _elementTypesWML.put("go", WMLGoElementImpl.class); 121 _elementTypesWML.put("big", WMLBigElementImpl.class); 122 _elementTypesWML.put("anchor", WMLAnchorElementImpl.class); 123 _elementTypesWML.put("timer", WMLTimerElementImpl.class); 124 _elementTypesWML.put("small", WMLSmallElementImpl.class); 125 _elementTypesWML.put("optgroup", WMLOptgroupElementImpl.class); 126 _elementTypesWML.put("head", WMLHeadElementImpl.class); 127 _elementTypesWML.put("td", WMLTdElementImpl.class); 128 _elementTypesWML.put("fieldset", WMLFieldsetElementImpl.class); 129 _elementTypesWML.put("img", WMLImgElementImpl.class); 130 _elementTypesWML.put("refresh", WMLRefreshElementImpl.class); 131 _elementTypesWML.put("onevent", WMLOneventElementImpl.class); 132 _elementTypesWML.put("input", WMLInputElementImpl.class); 133 _elementTypesWML.put("prev", WMLPrevElementImpl.class); 134 _elementTypesWML.put("table", WMLTableElementImpl.class); 135 _elementTypesWML.put("meta", WMLMetaElementImpl.class); 136 _elementTypesWML.put("template", WMLTemplateElementImpl.class); 137 _elementTypesWML.put("br", WMLBrElementImpl.class); 138 _elementTypesWML.put("option", WMLOptionElementImpl.class); 139 _elementTypesWML.put("u", WMLUElementImpl.class); 140 _elementTypesWML.put("p", WMLPElementImpl.class); 141 _elementTypesWML.put("select", WMLSelectElementImpl.class); 142 _elementTypesWML.put("em", WMLEmElementImpl.class); 143 _elementTypesWML.put("i", WMLIElementImpl.class); 144 _elementTypesWML.put("card", WMLCardElementImpl.class); 145 } 146 147 148 149 public WMLDocumentImpl(DocumentType doctype) { 150 super(doctype, false); 151 } 152 } 153 | Popular Tags |