net.sourceforge.java.feednread.backend.model.watchestree
Class NewsFeedWatchesTreeContentProvider

java.lang.Object
  extended bynet.sourceforge.java.feednread.backend.model.watchestree.NewsFeedWatchesTreeContentProvider
All Implemented Interfaces:
EventListener, IContentProvider, ILanguageResourceChangeListener, IMutableTreeElementListener, IStructuredContentProvider, ITableContentProvider, ITreeContentProvider

public class NewsFeedWatchesTreeContentProvider
extends Object
implements ITreeContentProvider, ITableContentProvider, IMutableTreeElementListener, ILanguageResourceChangeListener

Provides the data for a NewsFeedWatchesTree component.

Author:
Sebastian Machhausen

Field Summary
static String[] COLUMN_IDENTIFIERS
           The column identifiers
static int DESCRIPTION_COLUMN
           The column holding the description
private  WatchFolder root
           The root WatchFolder
static int TITLE_COLUMN
           The column holding the title
private  TreeViewer viewer
           The Viewer that this NewsFeedWatchesTreeContentProvider serves
 
Constructor Summary
NewsFeedWatchesTreeContentProvider(TreeViewer viewer, WatchFolder root)
           Creates a new NewsFeedWatchesTreeContentProvider for the specified TreeViewer using the specified root WatchFolder.
 
Method Summary
 void defaultLanguageChanged(LanguageResourceChangeEvent lrce)
           Called whenever the default language changes.
 void dispose()
          Disposes of this content provider.
 void elementAdded(MutableTreeElementEvent event)
           Called whenever an element was added to the favorites tree.
 void elementRemoved(MutableTreeElementEvent event)
           Called whenever an element was removed from the favorites tree.
 void elementUpdated(MutableTreeElementEvent event)
           Called whenever an element was updated in the favorites tree.
 Object[] getChildren(Object parentElement)
          Returns the child elements of the given parent element.
 Object getColumnValue(Object element, int columnIndex)
           Gets the column value for the specified element at the given columnIndex.
 Object[] getElements(Object inputElement)
           Returns the elements to display in the viewer when its input is set to the given element.
 Object getParent(Object element)
           Returns the parent for the given element, or null indicating that the parent can't be computed.
 WatchFolder getRoot()
           Gets the root WatchFolder managed by this NewsFeedWatchesTreeContentProvider.
 boolean hasChildren(Object element)
          Returns whether the given element has children.
 void inputChanged(Viewer viewer, Object oldInput, Object newInput)
          Notifies this content provider that the given viewer's input has been switched to a different element.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TITLE_COLUMN

public static final int TITLE_COLUMN

The column holding the title

See Also:
Constant Field Values

DESCRIPTION_COLUMN

public static final int DESCRIPTION_COLUMN

The column holding the description

See Also:
Constant Field Values

COLUMN_IDENTIFIERS

public static final String[] COLUMN_IDENTIFIERS

The column identifiers


viewer

private TreeViewer viewer

The Viewer that this NewsFeedWatchesTreeContentProvider serves


root

private WatchFolder root

The root WatchFolder

Constructor Detail

NewsFeedWatchesTreeContentProvider

public NewsFeedWatchesTreeContentProvider(TreeViewer viewer,
                                          WatchFolder root)

Creates a new NewsFeedWatchesTreeContentProvider for the specified TreeViewer using the specified root WatchFolder.

Parameters:
viewer - the TreeViewer that this NewsFeedWatchesTreeContentProvider serves
root - the WatchFolder to use as root
Method Detail

defaultLanguageChanged

public void defaultLanguageChanged(LanguageResourceChangeEvent lrce)

Called whenever the default language changes.

Specified by:
defaultLanguageChanged in interface ILanguageResourceChangeListener
Parameters:
lrce - the triggered LanguageResourceChangeEvent

getRoot

public WatchFolder getRoot()

Gets the root WatchFolder managed by this NewsFeedWatchesTreeContentProvider.

Returns:
the root WatchFolder managed by this NewsFeedWatchesTreeContentProvider.

getChildren

public Object[] getChildren(Object parentElement)
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:
parentElement - the parent element
Returns:
an array of child elements

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

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

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

inputChanged

public void inputChanged(Viewer viewer,
                         Object oldInput,
                         Object newInput)
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
oldInput - the old input element, or null if the viewer did not previously have an input
newInput - the new input element, or null if the viewer does not have an input

getElements

public Object[] getElements(Object inputElement)

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:
inputElement - the input element
Returns:
the array of elements to display in the viewer

getColumnValue

public Object getColumnValue(Object element,
                             int columnIndex)

Gets the column value for the specified element at the given columnIndex.

Specified by:
getColumnValue in interface ITableContentProvider
Parameters:
element - the model element for which to query the colum value
columnIndex - the index of the column to query the value for
Returns:
the value for the element at the given columnIndex

elementAdded

public void elementAdded(MutableTreeElementEvent event)

Called whenever an element was added to the favorites tree.

Specified by:
elementAdded in interface IMutableTreeElementListener
Parameters:
event - the event triggered

elementRemoved

public void elementRemoved(MutableTreeElementEvent event)

Called whenever an element was removed from the favorites tree.

Specified by:
elementRemoved in interface IMutableTreeElementListener
Parameters:
event - the event triggered

elementUpdated

public void elementUpdated(MutableTreeElementEvent event)

Called whenever an element was updated in the favorites tree.

Specified by:
elementUpdated in interface IMutableTreeElementListener
Parameters:
event - the event triggered