/******************************************************************************* * Copyright (c) 2007 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.core.resources.team; import org.eclipse.core.resources.IWorkspace; /** * A context that is used in conjunction with the {@link FileModificationValidator} * to indicate that UI-based validation is desired. * <p> * This class is not intended to be instantiated or subclassed by clients. * * @see FileModificationValidator * @since 3.3 */ public class FileModificationValidationContext { /** * Constant that can be passed to {@link IWorkspace#validateEdit(org.eclipse.core.resources.IFile[], Object)} * to indicate that the caller does not have access to a UI context but would still * like to have UI-based validation if possible. */ public static final FileModificationValidationContext VALIDATE_PROMPT = new FileModificationValidationContext(null); private final Object shell; /** * Create a context with the given shell. * * @param shell the shell */ FileModificationValidationContext(Object shell) { this.shell = shell; } /** * Return the <code>org.eclipse.swt.widgets.Shell</code> that is to be used to * parent any dialogs with the user, or <code>null</code> if there is no UI context * available (declared as an <code>Object</code> to avoid any direct references on the SWT component). * If there is no shell, the {@link FileModificationValidator} may still perform * UI-based validation if they can obtain a Shell from another source. * @return the <code>org.eclipse.swt.widgets.Shell</code> that is to be used to * parent any dialogs with the user, or <code>null</code> */ public Object getShell() { return shell; } }