1 /******************************************************************************* 2 * Copyright (c) 2000, 2006 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 package org.eclipse.team.core.synchronize; 12 13 import org.eclipse.core.resources.IResource; 14 15 /** 16 * This is a change event that provides access to changes in subtrees 17 * that contain the out-of-sync resources. It is the event type 18 * provided by {@link SyncInfoTree} when it notifies listeners 19 * of changes. 20 * @since 3.0 21 */ 22 public interface ISyncInfoTreeChangeEvent extends ISyncInfoSetChangeEvent { 23 24 /** 25 * Returns the highest parent resources of all newly added elements available in this event 26 * by calling <code>getAddedResources()</code>. In other words, it returns the set of all 27 * parent containers that did not previously have descendants in the sync set but are direct 28 * children of containers that did previously have descendants in the set. 29 * <p> 30 * These roots are provided in order 31 * to allow listeners to optimize the reconciliation of hierarchical views of 32 * the <code>SyncInfoSet</code> contents. 33 * 34 * @return parents of all newly added elements or an empty list if this event 35 * doesn't contain added resources. 36 */ 37 public IResource[] getAddedSubtreeRoots(); 38 39 /** 40 * Returns the highest parent resources of all newly removed elements available in this event 41 * by calling <code>getRemovedResources()</code>. In other words, it returns the set of all 42 * parent containers that previously had descendants in the sync set but are direct 43 * children of containers that still have descendants in the set. 44 * <p> 45 * These roots are provided in order 46 * to allow listeners to optimize the reconciliation of hierarchical views of 47 * the <code>SyncInfoSet</code> contents. 48 * 49 * @return parents of all newly removed elements. or an empty list if this event 50 * doesn't contain added resources. 51 */ 52 public IResource[] getRemovedSubtreeRoots(); 53 } 54