Bug 161435 - Added missing API tooling directives to virtual viewer
interfaces.
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java
index 046f3dd..0b7083b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/InternalVirtualTreeModelViewer.java
@@ -33,6 +33,7 @@
 import org.eclipse.debug.internal.ui.viewers.model.provisional.IStateUpdateListener;
 import org.eclipse.debug.internal.ui.viewers.model.provisional.ITreeModelViewer;
 import org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdateListener;
+import org.eclipse.debug.internal.ui.viewers.model.provisional.IVirtualItemListener;
 import org.eclipse.debug.internal.ui.viewers.model.provisional.IVirtualItemValidator;
 import org.eclipse.debug.internal.ui.viewers.model.provisional.ModelDelta;
 import org.eclipse.debug.internal.ui.viewers.model.provisional.PresentationContext;
@@ -64,7 +65,7 @@
  * @since 3.5
  */
 public class InternalVirtualTreeModelViewer extends Viewer 
-    implements VirtualTree.IVirtualItemListener, 
+    implements IVirtualItemListener, 
                ITreeModelViewer, 
                IInternalTreeModelViewer
 {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckboxModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckboxModelProxy.java
index d1f7203..3513b2a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckboxModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ICheckboxModelProxy.java
@@ -1,5 +1,5 @@
 /*****************************************************************
- * Copyright (c) 2009 Texas Instruments and others
+ * Copyright (c) 2009, 2011 Texas Instruments and others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -19,8 +19,9 @@
  * notification for check state changes in the tree. 
  * 
  * @since 3.6
+ * @see IModelProxy
  */
-public interface ICheckboxModelProxy extends IModelProxy {
+public interface ICheckboxModelProxy {
 
     /**
      * Notifies the receiver that the given element has had its 
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenCountUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenCountUpdate.java
index 09cb089..5581811 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenCountUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenCountUpdate.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * Copyright (c) 2006, 2011 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -14,9 +14,8 @@
 
 /**
  * Request monitor used to collect the number of children for an element in a viewer.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface IChildrenCountUpdate extends IViewerUpdate {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenUpdate.java
index 6edbd2f..9ee12df 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IChildrenUpdate.java
@@ -14,9 +14,8 @@
 /**
  * Context sensitive children update request for a parent and subrange of its
  * children.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface IChildrenUpdate extends IViewerUpdate {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementCompareRequest.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementCompareRequest.java
index 7f6dfc4..d6258f4 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementCompareRequest.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IElementCompareRequest.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * Copyright (c) 2006, 2011 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -13,9 +13,8 @@
 
 /**
  * Request to compare an element to a previously created memento.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface IElementCompareRequest extends IElementMementoRequest {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IHasChildrenUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IHasChildrenUpdate.java
index 6c7fab0..85232d9 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IHasChildrenUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IHasChildrenUpdate.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
+ * Copyright (c) 2006, 2011 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -13,9 +13,8 @@
 
 /**
  * Context sensitive update request for whether an element has children.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface IHasChildrenUpdate extends IViewerUpdate {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ILabelUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ILabelUpdate.java
index 0c24414..451fd2a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ILabelUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ILabelUpdate.java
@@ -16,9 +16,8 @@
 
 /**
  * Context sensitive label update request for an element.
- * <p>
- * Clients are not intended to implement this interface.
- * </p> 
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface ILabelUpdate extends IViewerUpdate {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy.java
index 250f70c..adabf4e 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy.java
@@ -26,14 +26,13 @@
  * within that model for a specific presentation context. 
  * </p>
  * <p>
- * Clients may implement this interface. Implementations of this interface
- * must subclass {@link AbstractModelProxy}.
- * </p>
- * <p>
  * Note: provider methods are called in the Display thread of the viewer.
  * To avoid blocking the UI, long running operations should be performed 
  * asynchronously.
  * </p>
+ * 
+ * @noimplement Clients are not intended to implement this interface directly. Instead, clients
+ * creating and firing model deltas should create instances of {@link AbstractModelProxy}.
  * @see IModelDelta
  * @see IModelProxyFactory
  * @see IModelChangedListener
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy2.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy2.java
index 5db3dbe..7187edc 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy2.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IModelProxy2.java
@@ -16,10 +16,9 @@
 /**
  * Extension to the model proxy interface which allows the proxy to be initialized
  * on the viewer's Display thread
- * <p>
- * Clients may implement this interface. Implementations of this interface
- * must subclass {@link AbstractModelProxy}.
- * </p>
+ * 
+ * @noimplement Clients are not intended to implement this interface directly. Instead, clients
+ * creating and firing model deltas should create instances of {@link AbstractModelProxy}.
  * @since 3.8
  */
 public interface IModelProxy2 extends IModelProxy {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java
index f2a5be0..baa6971 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
+ * Copyright (c) 2006, 2011 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -15,9 +15,8 @@
 
 /**
  * A context sensitive viewer update request.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
+ * 
+ * @noimplement This interface is not intended to be implemented by clients.
  * @since 3.3
  */
 public interface IViewerUpdate extends IRequest {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemListener.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemListener.java
new file mode 100644
index 0000000..4f59447
--- /dev/null
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemListener.java
@@ -0,0 +1,28 @@
+package org.eclipse.debug.internal.ui.viewers.model.provisional;
+
+/**
+ * Interface for listeners that need to be notified when items 
+ * are disposed or revealed.  It  should be implemented by the viewer.
+ * 
+ * @see VirtualTreeModelViewer
+ * @since 3.8
+ */
+public interface IVirtualItemListener {
+    
+    /**
+     * Called when the item has been shown in the virtual viewer's 
+     * view-port.  This indicates to the viewer that it should check
+     * the item's status and request needed data.
+     * 
+     * @param item The item that was revealed.
+     */
+    public void revealed(VirtualItem item);
+    
+    /**
+     * Called when an item is disposed.  It tells the viewer to
+     * clean up any remaining mappings and cached data of this item.
+     * 
+     * @param item The itam that was disposed.
+     */
+    public void disposed(VirtualItem item);
+}
\ No newline at end of file
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemValidator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemValidator.java
index b4d6f50..b460c48 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemValidator.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IVirtualItemValidator.java
@@ -15,6 +15,7 @@
  * A validator to be used with a VirtualTreeModelViewer to determine which viewer
  * items should be updated by the viewer.   
  * 
+ * @see VirtualTreeModelViewer
  * @since 3.8
  */
 public interface IVirtualItemValidator {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ViewerInputService.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ViewerInputService.java
index d06ff9a..f595c60 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ViewerInputService.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/ViewerInputService.java
@@ -21,7 +21,7 @@
  * This class may be instantiated, but it not intended to be sub-classed.
  * </p>
  * @since 3.4
- * @noinstantiate This class is not intended to be instantiated by clients.
+ * @noextend This class is not intended to be subclassed by clients.
  */
 public class ViewerInputService {
 	
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java
index f28f479..0a190b2 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualItem.java
@@ -21,6 +21,7 @@
  * Virtual item, which is analogous to the SWT's tree item.  This class is used
  * by the {@link VirtualTreeModelViewer}. 
  * 
+ * @see VirtualTreeModelViewer
  * @since 3.8
  */
 public class VirtualItem {
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java
index a670a30..661a1ea 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/VirtualTree.java
@@ -21,9 +21,8 @@
  * Tree of virtual items that is analogous to SWT's tree control.  The tree is used
  * by the {@link VirtualTreeModelViewer}. 
  * 
- * @since 3.8
- * 
  * @see VirtualTreeModelViewer
+ * @since 3.8
  */
 public class VirtualTree extends VirtualItem {
 
@@ -55,30 +54,6 @@
     }
     
     /**
-     * Interface for listeners that need to be notified when items 
-     * are disposed or revealed.  It  should be implemented by the viewer.
-     */
-    public static interface IVirtualItemListener {
-        
-        /**
-         * Called when the item has been shown in the virtual viewer's 
-         * view-port.  This indicates to the viewer that it should check
-         * the item's status and request needed data.
-         * 
-         * @param item The item that was revealed.
-         */
-        public void revealed(VirtualItem item);
-        
-        /**
-         * Called when an item is disposed.  It tells the viewer to
-         * clean up any remaining mappings and cached data of this item.
-         * 
-         * @param item The itam that was disposed.
-         */
-        public void disposed(VirtualItem item);
-    }
-    
-    /**
      * Set of listeners of the virtual tree.
      */
     private Set fVirtualItemListeners = new HashSet(1);