/******************************************************************************* * Copyright (c) 2004, 2009 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 - Initial API and implementation *******************************************************************************/ package org.eclipse.core.resources.refresh; import org.eclipse.core.resources.IResource; /** * An <code>IRefreshResult</code> is provided to an auto-refresh * monitor. The result is used to submit resources to be refreshed, and * for reporting failure of the monitor. * * @since 3.0 * @noimplement This interface is not intended to be implemented by clients. * @noextend This interface is not intended to be extended by clients. */ public interface IRefreshResult { /** * Notifies that the given monitor has encountered a failure from which it * cannot recover while monitoring the given resource. * <p> * If the given resource is <code>null</code> it indicates that the * monitor has failed completely, and the refresh manager will have to * take over the monitoring responsibilities for all resources that the * monitor was monitoring. * * @param monitor a monitor which has encountered a failure that it * cannot recover from * @param resource the resource that the monitor can no longer * monitor, or <code>null</code> to indicate that the monitor can no * longer monitor any of the resources it was monitoring */ public void monitorFailed(IRefreshMonitor monitor, IResource resource); /** * Requests that the provided resource be refreshed. The refresh will * occur in the background during the next scheduled refresh. * * @param resource the resource to refresh */ public void refresh(IResource resource); }