/*
* $Id$
*
* Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle,
* Santa Clara, California 95054, U.S.A. All rights reserved.
*/
package org.jdesktop.test;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
/**
* A TreeSelectionListener that stores the received TreeSelectionEvents.
*
*
*/
public class TreeSelectionReport implements TreeSelectionListener {
/**
* Holds a list of all received PropertyChangeEvents.
*/
protected List<TreeSelectionEvent> events = Collections.synchronizedList(new LinkedList<TreeSelectionEvent>());
//------------------------ implement ListSelectionListener
public void valueChanged(TreeSelectionEvent e) {
events.add(0, e);
}
public void clear() {
events.clear();
}
public boolean hasEvents() {
return !events.isEmpty();
}
public int getEventCount() {
return events.size();
}
public TreeSelectionEvent getLastEvent() {
return getLastFrom(events);
}
private TreeSelectionEvent getLastFrom(List<TreeSelectionEvent> list) {
return list.isEmpty()
? null : list.get(0);
}
}