/* * Copyright (C) 2006-2007 Sun Microsystems, Inc. All rights reserved. Use is * subject to license terms. */ package org.jdesktop.observablecollections; import java.util.List; /** * A {@code List} that notifies listeners of changes. * * @author sky */ public interface ObservableList<E> extends List<E> { /** * Adds a listener that is notified when the list changes. * * @param listener the listener to add */ public void addObservableListListener(ObservableListListener listener); /** * Removes a listener. * * @param listener the listener to remove */ public void removeObservableListListener(ObservableListListener listener); /** * Returns {@code true} if this list sends out notification when * the properties of an element change. This method may be used * to determine if a listener needs to be installed on each of * the elements of the list. * * @return {@code true} if this list sends out notification when * the properties of an element change */ public boolean supportsElementPropertyChanged(); }