ContextWatcher offers a proxy watcher facility such that multiple ContextHolder objects can be notified upon Context changes, though only the single ContextWatcher acts as Observer upon the Node, Project and Workspace of the Context. The purpose of this class is to reduce message traffic due to simple content changes within a Node by having a single Observer filter the messages, forwarding notification only upon those messages interesting to a ContextHolder. This class only works for a Context describing a single Node available from the getNode method.

ContextHolder references are held as WeakDataReference and thus need not worry about dangling references.

If the Context of a ContextHolder is changed for any reason other than a notification from ContextWatcher, then the ContextHolder should call stopWatching passing in the old Context, then call startWatching again using the new Context.

update(java.lang.Object observed, UpdateMessage change)Deprecated. Respond to a name change message for any of the Context's Node, Project or Workspace, and to a child removed message removing the Node from the Project, the Project from the Workspace or the Workspace from the Ide workspaces.

update

Respond to a name change message for any of the Context's Node, Project or Workspace, and to a child removed message removing the Node from the Project, the Project from the Workspace or the Workspace from the Ide workspaces.