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 null
s)
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);
}
}