<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font><br>
               Class JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl</h2><br><hr><pre>public class <strong>JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl</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_JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl">JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl</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 void</code></td><td width="" align="left"><code><a href="#method_cacheCleared">cacheCleared</a>(CMDocumentCache cache)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_cacheUpdated">cacheUpdated</a>(CMDocumentCache cache
         ,
      java.lang.String uri
         ,
      int oldStatus
         ,
      int newStatus
         ,
      CMDocument cmDocument)</code><br>
               &nbsp;&nbsp;&nbsp;&nbsp;
               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_propertyChanged">propertyChanged</a>(CMDocumentManager cmDocumentManager
         ,
      java.lang.String propertyName)</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_JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl">JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl</a></h2><p><code>public <strong>JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl</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_cacheCleared">cacheCleared</a></h2><p><code>public void <strong>cacheCleared</strong>(CMDocumentCache cache)</code></p><p></p><h3>Parameters</h3><p><code>cache</code></p><hr><h2><a name="method_cacheUpdated">cacheUpdated</a></h2><p><code>public void <strong>cacheUpdated</strong>(CMDocumentCache cache
         ,
      java.lang.String uri
         ,
      int oldStatus
         ,
      int newStatus
         ,
      CMDocument cmDocument)</code></p><p></p><h3>Parameters</h3><p><code>cache</code></p><p><code>uri</code></p><p><code>oldStatus</code></p><p><code>newStatus</code></p><p><code>cmDocument</code></p><hr><h2><a name="method_propertyChanged">propertyChanged</a></h2><p><code>public void <strong>propertyChanged</strong>(CMDocumentManager cmDocumentManager
         ,
      java.lang.String propertyName)</code></p><p></p><h3>Parameters</h3><p><code>cmDocumentManager</code></p><p><code>propertyName</code></p><hr></body></html>