edu.usc.cse.desi.viewers
Class HostContentProvider

java.lang.Object
  extended byedu.usc.cse.desi.viewers.HostContentProvider
All Implemented Interfaces:
java.util.EventListener, org.eclipse.jface.viewers.IContentProvider, org.eclipse.jface.viewers.IStructuredContentProvider, NodeContentProvider, java.beans.PropertyChangeListener

public class HostContentProvider
extends java.lang.Object
implements NodeContentProvider, java.beans.PropertyChangeListener

This content provider will provide the information for the table that will be created to display the host properties. It will display host names on the left and then the properties across the top.

Author:
NeLs Started on Aug 4, 2004

Field Summary
private  Property[] myColumnNames
           
private  DESIViewModel myTableModel
           
private  org.eclipse.jface.viewers.TableViewer myTableViewer
           
 
Constructor Summary
HostContentProvider()
           
 
Method Summary
private  void createTableColumns(org.eclipse.jface.viewers.TableViewer t_viewer)
          This method will correctly create the collumn names based on the available properties of a host.
 void dispose()
          I overrode this method:
 java.lang.Object[] getElements(java.lang.Object arg0)
          I overrode this method:
 Property[] getMyColumnNames()
          Returns a list of Properties in their column order.
 void inputChanged(org.eclipse.jface.viewers.Viewer arg0, java.lang.Object oldObject, java.lang.Object newObject)
          Add listeners to the Hosts and to DESIViewModel so that when hosts are added, we can increase the amount of elements.
 void propertyChange(java.beans.PropertyChangeEvent arg0)
          When the properties of the model change, this method will be called.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myTableModel

private DESIViewModel myTableModel

myColumnNames

private Property[] myColumnNames

myTableViewer

private org.eclipse.jface.viewers.TableViewer myTableViewer
Constructor Detail

HostContentProvider

public HostContentProvider()
Method Detail

getElements

public java.lang.Object[] getElements(java.lang.Object arg0)
I overrode this method:

Specified by:
getElements in interface org.eclipse.jface.viewers.IStructuredContentProvider
See Also:
IStructuredContentProvider.getElements(java.lang.Object)

getMyColumnNames

public Property[] getMyColumnNames()
Returns a list of Properties in their column order.

Specified by:
getMyColumnNames in interface NodeContentProvider
Returns:
Returns the myColumnNames.

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent arg0)
When the properties of the model change, this method will be called. We are only listening to DESIViewModel and to HostViewModel. All we have to do is add or remove hosts when DESIViewModel alerts us and the refresh the properties when a host's properties change. I overrode this method:

Specified by:
propertyChange in interface java.beans.PropertyChangeListener
See Also:
PropertyChangeListener.propertyChange(java.beans.PropertyChangeEvent)

dispose

public void dispose()
I overrode this method:

Specified by:
dispose in interface org.eclipse.jface.viewers.IContentProvider
See Also:
IContentProvider.dispose()

inputChanged

public void inputChanged(org.eclipse.jface.viewers.Viewer arg0,
                         java.lang.Object oldObject,
                         java.lang.Object newObject)
Add listeners to the Hosts and to DESIViewModel so that when hosts are added, we can increase the amount of elements. I overrode this method:

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)

createTableColumns

private void createTableColumns(org.eclipse.jface.viewers.TableViewer t_viewer)
This method will correctly create the collumn names based on the available properties of a host.