|
Eclipse Platform Release 3.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.team.core.ProjectSetCapability
An object for serializing and deserializing references to projects. Given a project, it can produce a UTF-8 encoded String which can be stored in a file. Given this String, it can load a project into the workspace. It also provides a mechanism by which repository providers can be notified when a project set is created and exported.
RepositoryProviderType
Constructor Summary | |
ProjectSetCapability()
|
Method Summary | |
IProject[] |
addToWorkspace(String[] referenceStrings,
ProjectSetSerializationContext context,
IProgressMonitor monitor)
For every String in referenceStrings, load the corresponding project into the workspace. |
String[] |
asReference(IProject[] providerProjects,
ProjectSetSerializationContext context,
IProgressMonitor monitor)
For every project in providerProjects, return an opaque UTF-8 encoded String to act as a reference to that project. |
protected IProject[] |
confirmOverwrite(ProjectSetSerializationContext context,
IProject[] projects)
Determine if any of the projects already exist and confirm which of those projects are to be overwritten. |
static void |
ensureBackwardsCompatible(RepositoryProviderType type,
ProjectSetCapability capability)
Ensure that the provider type is backwards compatible by passing the project set serializer to the type if a serializer is registered. |
void |
projectSetCreated(File file,
Object context,
IProgressMonitor monitor)
Deprecated. should use or override projectSetCreated(File, ProjectSetSerializationContext, IProgressMonitor) instead |
void |
projectSetCreated(File file,
ProjectSetSerializationContext context,
IProgressMonitor monitor)
Notify the provider that a project set has been created at path. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ProjectSetCapability()
Method Detail |
public static void ensureBackwardsCompatible(RepositoryProviderType type, ProjectSetCapability capability)
type
- the provider type instancecapability
- the capability that was obtained from the provider typepublic void projectSetCreated(File file, Object context, IProgressMonitor monitor)
file
- the project set file that was createdcontext
- a UI context object. This object will either be a
com.ibm.swt.widgets.Shell or it will be null.monitor
- a progress monitorpublic void projectSetCreated(File file, ProjectSetSerializationContext context, IProgressMonitor monitor)
file
- the project set file that was createdcontext
- the context in which the references are created
(not null
)monitor
- a progress monitorpublic String[] asReference(IProject[] providerProjects, ProjectSetSerializationContext context, IProgressMonitor monitor) throws TeamException
addToWorkspace(String[], ProjectSetSerializationContext, IProgressMonitor)
will be able to consume it and load the corresponding project.
This default implementation simply throws an exception indicating that no references can be created unless there is an IProjectSetSerializer registered for the repository provider type in which case the operation is delegated to the serializer. Subclasses are expected to override.
providerProjects
- an array of projects for which references are needed
(not null
and contains no null
s)context
- the context in which the references are created
(not null
)monitor
- a progress monitor or null
if none
null
and contains no null
s)
TeamException
- thrown if there is a reference string cannot be created for a projectpublic IProject[] addToWorkspace(String[] referenceStrings, ProjectSetSerializationContext context, IProgressMonitor monitor) throws TeamException
asReference(IProject[], ProjectSetSerializationContext, IProgressMonitor)
.
The confirmOverwrite method is called with an array of projects
for which projects of the same name already exists in the workspace.
Callers from within a UI context should wrapper a call to this method inside a WorkspaceModifyOperation so that events generated as a result of this operation are deferred until the outermost operation has successfully completed.
This default implementation simply throws an exception indicating that no projects can be loaded unless there is an IProjectSetSerializer registered for the repository provider type in which case the operation is delegated to the serializer. Subclasses are expected to override.
referenceStrings
- an array of referene strings uniquely identifying the projects
(not null
and contains no null
s)context
- the context in which the projects are loaded
(not null
)monitor
- a progress monitor or null
if none
null
, contains no null
s)
TeamException
- thrown if there is a problem loading a project into the workspace.
If an exception is thrown, then the workspace is left in an unspecified state
where some of the referenced projects may be loaded or partially loaded, and others may not.protected IProject[] confirmOverwrite(ProjectSetSerializationContext context, IProject[] projects) throws TeamException
context
- the context in which the projects are loaded
(not null
)projects
- an array of proposed projects to be loaded
(not null
, contains no null
s)
null
if the operation is to be canceled.
TeamException
|
Eclipse Platform Release 3.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.