Copyright (c) 2000, 2017 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: Dan Rubel - initial API and implementation IBM Corporation - ongoing maintenance
/******************************************************************************* * Copyright (c) 2000, 2017 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * Dan Rubel - initial API and implementation * IBM Corporation - ongoing maintenance *******************************************************************************/
package org.eclipse.team.core; import java.util.HashMap; import java.util.Map; import org.eclipse.core.resources.IProject;
The context in which project serialization occurs. The class may be subclassed to represent different serialization contexts.
Since:3.0
/** * The context in which project serialization occurs. * The class may be subclassed to represent different serialization contexts. * * @since 3.0 */
public class ProjectSetSerializationContext { private final String filename; private final Map<String, Object> properties = new HashMap<>();
Create a serialization context with no filename
/** * Create a serialization context with no filename */
public ProjectSetSerializationContext() { this(null); }
Create a serialization context and set the filename of the file that does or is to contain the project set.
Params:
  • filename – a filename or null
/** * Create a serialization context and set the filename of the file * that does or is to contain the project set. * @param filename a filename or <code>null</code> */
public ProjectSetSerializationContext(String filename) { this.filename = filename; }
Given an array of projects that currently exist in the workspace determine which of those projects should be overwritten.

This default implementation always returns an empty array indicating that no existing projects should be overwritten. Subclasses may override this as appropriate.

Params:
  • projects – an array of projects currently existing in the workspace that are desired to be overwritten. (not null, contains no nulls)
Throws:
Returns: an array of zero or more projects that should be overwritten or null if the operation is to be canceled
/** * Given an array of projects that currently exist in the workspace * determine which of those projects should be overwritten. * <p> * This default implementation always returns an empty array * indicating that no existing projects should be overwritten. * Subclasses may override this as appropriate. * * @param projects * an array of projects currently existing in the workspace * that are desired to be overwritten. * (not <code>null</code>, contains no <code>null</code>s) * @return * an array of zero or more projects that should be overwritten * or <code>null</code> if the operation is to be canceled * @throws TeamException */
public IProject[] confirmOverwrite(IProject[] projects) throws TeamException { return new IProject[0]; }
Return a org.eclipse.swt.Shell if there is a UI context or null if executing headless.
Returns:the shell or null
/** * Return a org.eclipse.swt.Shell if there is a UI context * or <code>null</code> if executing headless. * * @return the shell or <code>null</code> */
public Object getShell() { return null; }
Return the name of the file to or from which the project set is being loaded or saved. This may be null.
Returns:the filename or null
/** * Return the name of the file to or from which the project set is being loaded or saved. * This may be <code>null</code>. * @return the filename or <code>null</code> */
public String getFilename() { return filename; }
Set a property of this context.
Params:
  • key – the property key
  • value – the property value
Since:3.3
/** * Set a property of this context. * @since 3.3 * @param key the property key * @param value the property value */
public void setProperty(String key, Object value) { properties.put(key, value); }
Return the property for the given key or null if the property is not set.
Params:
  • key – the property key
Returns:the property value
Since:3.3
/** * Return the property for the given key or <code>null</code> * if the property is not set. * @param key the property key * @return the property value * @since 3.3 */
public Object getProperty(String key) { return properties.get(key); } }