1 /******************************************************************************* 2 * Copyright (c) 2006, 2007 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 12 package org.eclipse.core.databinding.observable; 13 14 import java.util.Collection; 15 16 import org.eclipse.core.databinding.observable.list.IObservableList; 17 import org.eclipse.core.databinding.observable.set.IObservableSet; 18 19 /** 20 * Interface for observable collections. Only general change listeners can be 21 * added to an observable collection. Listeners interested in incremental 22 * changes have to be added using more concrete subtypes such as 23 * {@link IObservableList} or {@link IObservableSet}. 24 * 25 * <p> 26 * This interface is not intended to be implemented by clients. Clients should 27 * instead subclass one of the classes that implement this interface. Note that 28 * direct implementers of this interface outside of the framework will be broken 29 * in future releases when methods are added to this interface. 30 * </p> 31 * 32 * @since 1.0 33 */ 34 public interface IObservableCollection extends IObservable, Collection { 35 36 /** 37 * @return the element type of this observable value, or <code>null</code> 38 * if this observable collection is untyped. 39 */ 40 Object getElementType(); 41 42 } 43