com.ibm.jdg2e.view.basic
Class LocationsContentProvider

java.lang.Object
  |
  +--com.ibm.jdg2e.view.basic.LocationsContentProvider
All Implemented Interfaces:
java.util.EventListener, org.eclipse.jface.viewers.IContentProvider, org.eclipse.jface.util.IPropertyChangeListener, org.eclipse.jface.viewers.IStructuredContentProvider

public class LocationsContentProvider
extends java.lang.Object
implements org.eclipse.jface.viewers.IStructuredContentProvider, org.eclipse.jface.util.IPropertyChangeListener

Provides support for accessing the IRoadTrip model. An array of the available ILocation objects are returned when requested. Model changes are also detected and passed on to the viewer for processing.


Field Summary
(package private)  org.eclipse.jface.viewers.StructuredViewer viewer
           
 
Constructor Summary
LocationsContentProvider()
           
 
Method Summary
 void dispose()
           
 java.lang.Object[] getElements(java.lang.Object inputElement)
          Returns an Object array, the array contains ILocation instances as obtained from the IRoadTrip model.
 void inputChanged(org.eclipse.jface.viewers.Viewer viewer, java.lang.Object oldInput, java.lang.Object newInput)
          Following the pattern of removing listener from old input and adding to new input.
 void propertyChange(org.eclipse.jface.util.PropertyChangeEvent event)
          Listener for changes to the IRoadTrip model.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

viewer

org.eclipse.jface.viewers.StructuredViewer viewer
Constructor Detail

LocationsContentProvider

public LocationsContentProvider()
Method Detail

inputChanged

public void inputChanged(org.eclipse.jface.viewers.Viewer viewer,
                         java.lang.Object oldInput,
                         java.lang.Object newInput)
Following the pattern of removing listener from old input and adding to new input. Net result is there is always a listener, which is correct. The input never changes in this example, but the pattern is followed just in case things do 'change' later.
Specified by:
inputChanged in interface org.eclipse.jface.viewers.IContentProvider
See Also:
IContentProvider.inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)

getElements

public java.lang.Object[] getElements(java.lang.Object inputElement)
Returns an Object array, the array contains ILocation instances as obtained from the IRoadTrip model.
Specified by:
getElements in interface org.eclipse.jface.viewers.IStructuredContentProvider
See Also:
IStructuredContentProvider.getElements(java.lang.Object)

propertyChange

public void propertyChange(org.eclipse.jface.util.PropertyChangeEvent event)
Listener for changes to the IRoadTrip model. Changes can be either to the number of ILocation objects that exist or to the properties of a given ILocation object instance.

Changes in the number of model objects trigger a viewer.refresh request. When a property change has occured to an individual model instance a viewer.update request is issued.

Specified by:
propertyChange in interface org.eclipse.jface.util.IPropertyChangeListener
See Also:
IPropertyChangeListener.propertyChange(org.eclipse.jface.util.PropertyChangeEvent)

dispose

public void dispose()
Specified by:
dispose in interface org.eclipse.jface.viewers.IContentProvider