<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.views.stylesheet</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.views.stylesheet</strong></font><br>
               Class XSLModelAdapterFactory</h2><br><hr><pre>public class <strong>XSLModelAdapterFactory</strong>
extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLModelAdapterFactory">XSLModelAdapterFactory</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_getAdapter">getAdapter</a>(java.lang.Object adaptableObject
         ,
      java.lang.Class adapterType)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class[]</code></td><td width="" align="left"><code><a href="#method_getAdapterList">getAdapterList</a>()</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Constructor Detail
               </h2></td></tr></table><h2><a name="con_XSLModelAdapterFactory">XSLModelAdapterFactory</a></h2><p><code>public <strong>XSLModelAdapterFactory</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
                  Methods Detail
               </h2></td></tr></table><h2><a name="method_getAdapter">getAdapter</a></h2><p><code>public java.lang.Object <strong>getAdapter</strong>(java.lang.Object adaptableObject
         ,
      java.lang.Class adapterType)</code></p><p></p><h3>Parameters</h3><p><code>adaptableObject</code></p><p><code>adapterType</code></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getAdapterList">getAdapterList</a></h2><p><code>public java.lang.Class[] <strong>getAdapterList</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class[]</code></p><hr></body></html>