
package uk.co.wingpath.event;

import javax.swing.event.*;

/**
* This class implements ListDataListener by wrapping a ValueListener
* by calling valueChanged for any change to the list.
*/
public class ListValueListener
    implements ListDataListener
{
    private final ValueListener listener;

    /**
    * Constructs a ListValueListener.
    * @param listener the ValueListener to be wrapped.
    */
    public ListValueListener (ValueListener listener)
    {
        this.listener = listener;
    }

    private void forwardEvent (ListDataEvent e)
    {
        listener.valueChanged (new ValueEvent (e.getSource ()));
    }

    public void intervalAdded (ListDataEvent e)
    {
        forwardEvent (e);
    }

    public void intervalRemoved (ListDataEvent e)
    {
        forwardEvent (e);
    }

    public void contentsChanged (ListDataEvent e)
    {
        forwardEvent (e);
    }
}

