blob: 6a614da1d99ed7edb2b36ed75ca8be5e1b36a7c9 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2006 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.team.core.synchronize;
import org.eclipse.core.resources.IResource;
/**
* This is a change event that provides access to changes in subtrees
* that contain the out-of-sync resources. It is the event type
* provided by {@link SyncInfoTree} when it notifies listeners
* of changes.
* @since 3.0
*/
public interface ISyncInfoTreeChangeEvent extends ISyncInfoSetChangeEvent {
/**
* Returns the highest parent resources of all newly added elements available in this event
* by calling <code>getAddedResources()</code>. In other words, it returns the set of all
* parent containers that did not previously have descendants in the sync set but are direct
* children of containers that did previously have descendants in the set.
* <p>
* These roots are provided in order
* to allow listeners to optimize the reconciliation of hierarchical views of
* the <code>SyncInfoSet</code> contents.
*
* @return parents of all newly added elements or an empty list if this event
* doesn't contain added resources.
*/
public IResource[] getAddedSubtreeRoots();
/**
* Returns the highest parent resources of all newly removed elements available in this event
* by calling <code>getRemovedResources()</code>. In other words, it returns the set of all
* parent containers that previously had descendants in the sync set but are direct
* children of containers that still have descendants in the set.
* <p>
* These roots are provided in order
* to allow listeners to optimize the reconciliation of hierarchical views of
* the <code>SyncInfoSet</code> contents.
*
* @return parents of all newly removed elements. or an empty list if this event
* doesn't contain added resources.
*/
public IResource[] getRemovedSubtreeRoots();
}