Eclipse Platform
Release 3.2

org.eclipse.ltk.ui.refactoring.history
Class RefactoringHistoryContentProvider

java.lang.Object
  extended byorg.eclipse.ltk.ui.refactoring.history.RefactoringHistoryContentProvider
All Implemented Interfaces:
IContentProvider, IStructuredContentProvider, ITreeContentProvider

public class RefactoringHistoryContentProvider
extends Object
implements ITreeContentProvider

Tree content provider to display a refactoring history. This content provider may be used with RefactoringHistory elements and returns model elements suitable to be rendered using RefactoringHistoryLabelProvider.

Note: this class is not indented to be subclassed outside the refactoring framework.

Since:
3.2
See Also:
IRefactoringHistoryControl, RefactoringHistoryControlConfiguration

Constructor Summary
RefactoringHistoryContentProvider(RefactoringHistoryControlConfiguration configuration)
          Creates a new refactoring history content provider.
 
Method Summary
 void dispose()
          Disposes of this content provider. This is called by the viewer when it is disposed.

The viewer should not be updated during this call, as it is in the process of being disposed.

 Object[] getChildren(Object element)
          Returns the child elements of the given parent element.

The difference between this method and IStructuredContentProvider.getElements is that getElements is called to obtain the tree viewer's root elements, whereas getChildren is used to obtain the children of a given parent element in the tree (including a root).

The result is not modified by the viewer.
 Object[] getElements(Object element)
          Returns the elements to display in the viewer when its input is set to the given element. These elements can be presented as rows in a table, items in a list, etc. The result is not modified by the viewer.
 Object getParent(Object element)
          Returns the parent for the given element, or null indicating that the parent can't be computed. In this case the tree-structured viewer can't expand a given node correctly if requested.
 Object[] getRootElements()
          Returns the refactoring history root elements.
 boolean hasChildren(Object element)
          Returns whether the given element has children.

Intended as an optimization for when the viewer does not need the actual children. Clients may be able to implement this more efficiently than getChildren.

 void inputChanged(Viewer viewer, Object predecessor, Object successor)
          Notifies this content provider that the given viewer's input has been switched to a different element.

A typical use for this method is registering the content provider as a listener to changes on the new input (using model-specific means), and deregistering the viewer from the old input. In response to these change notifications, the content provider should update the viewer (see the add, remove, update and refresh methods on the viewers).

The viewer should not be updated during this call, as it might be in the process of being disposed.

 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RefactoringHistoryContentProvider

public RefactoringHistoryContentProvider(RefactoringHistoryControlConfiguration configuration)
Creates a new refactoring history content provider.

Parameters:
configuration - the refactoring history control configuration
Method Detail

dispose

public void dispose()
Disposes of this content provider. This is called by the viewer when it is disposed.

The viewer should not be updated during this call, as it is in the process of being disposed.

Specified by:
dispose in interface IContentProvider

getChildren

public Object[] getChildren(Object element)
Returns the child elements of the given parent element.

The difference between this method and IStructuredContentProvider.getElements is that getElements is called to obtain the tree viewer's root elements, whereas getChildren is used to obtain the children of a given parent element in the tree (including a root).

The result is not modified by the viewer.

Specified by:
getChildren in interface ITreeContentProvider
Parameters:
element - the parent element
Returns:
an array of child elements

getElements

public Object[] getElements(Object element)
Returns the elements to display in the viewer when its input is set to the given element. These elements can be presented as rows in a table, items in a list, etc. The result is not modified by the viewer.

Specified by:
getElements in interface IStructuredContentProvider
Parameters:
element - the input element
Returns:
the array of elements to display in the viewer

getParent

public Object getParent(Object element)
Returns the parent for the given element, or null indicating that the parent can't be computed. In this case the tree-structured viewer can't expand a given node correctly if requested.

Specified by:
getParent in interface ITreeContentProvider
Parameters:
element - the element
Returns:
the parent element, or null if it has none or if the parent cannot be computed

getRootElements

public Object[] getRootElements()
Returns the refactoring history root elements.

This method must only be called for refactoring histories with associated time information.

Returns:
the refactoring history root elements

hasChildren

public boolean hasChildren(Object element)
Returns whether the given element has children.

Intended as an optimization for when the viewer does not need the actual children. Clients may be able to implement this more efficiently than getChildren.

Specified by:
hasChildren in interface ITreeContentProvider
Parameters:
element - the element
Returns:
true if the given element has children, and false if it has no children

inputChanged

public void inputChanged(Viewer viewer,
                         Object predecessor,
                         Object successor)
Notifies this content provider that the given viewer's input has been switched to a different element.

A typical use for this method is registering the content provider as a listener to changes on the new input (using model-specific means), and deregistering the viewer from the old input. In response to these change notifications, the content provider should update the viewer (see the add, remove, update and refresh methods on the viewers).

The viewer should not be updated during this call, as it might be in the process of being disposed.

Specified by:
inputChanged in interface IContentProvider
Parameters:
viewer - the viewer
predecessor - the old input element, or null if the viewer did not previously have an input
successor - the new input element, or null if the viewer does not have an input

Eclipse Platform
Release 3.2

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.