Eclipse Platform
Release 3.0

org.eclipse.team.core
Class RepositoryProviderType

java.lang.Object
  extended byorg.eclipse.team.core.RepositoryProviderType
Direct Known Subclasses:
DefaultRepositoryProviderType

public abstract class RepositoryProviderType
extends Object

This class represents provisional API. A provider is not required to implement this API. Implementers, and those who reference it, do so with the awareness that this class may be removed or substantially changed at future times without warning.

This class represents things you can ask/do with a type of provider. This is in the absence of a project, as opposed to RepositoryProvider which requires a concrete project in order to be instantiated.

A repository provider type class is asscoaited with it's provider ID along with it's corresponding repository provider class. To add a repository provider type and have it registered with the platform, a client must minimally:

  1. extend RepositoryProviderType
  2. add the typeClass field to the repository extension in plugin.xml. Here is an example extension point definition:
    <extension point="org.eclipse.team.core.repository">
     <repository
      class="org.eclipse.myprovider.MyRepositoryProvider"
      typeClass="org.eclipse.myprovider.MyRepositoryProviderType"
      id="org.eclipse.myprovider.myProviderID">
     </repository>
    </extension>

Once a repository provider type is registered with Team, then you can access the singleton instance of the class by invoking RepositoryProviderType.getProviderType().

Since:
2.1
See Also:
getProviderType(String)

Constructor Summary
RepositoryProviderType()
           
 
Method Summary
 String getID()
          Answer the id of this provider type.
 ProjectSetCapability getProjectSetCapability()
          Answers an object for serializing and deserializing of references to projects.
static RepositoryProviderType getProviderType(String id)
          Return the RepositoryProviderType for the given provider ID.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RepositoryProviderType

public RepositoryProviderType()
Method Detail

getProviderType

public static RepositoryProviderType getProviderType(String id)
Return the RepositoryProviderType for the given provider ID.

Parameters:
id - the ID of the provider
Returns:
RepositoryProviderType
See Also:
getID()

getID

public final String getID()
Answer the id of this provider type. The id will be the repository provider type's id as defined in the provider plugin's plugin.xml.

Returns:
the id of this provider type

getProjectSetCapability

public ProjectSetCapability getProjectSetCapability()
Answers an object for serializing and deserializing of 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. If the provider doesn't wish to provide this feature, return null.

Subclasses should override this method to return the appropriate serializer for the associated repository type. It is recommended that serializers not have any references to UI classes so that they can be used in a headless environment.

At this time, the default implementation wrappers the IProjectSetSerializer interface if one exists, providing backward compatibility with existing code. At some time in the future, the IProjectSetSerializer interface will be removed and the default implementation will revert to having limited functionality.

Returns:
the project set serializer (or null)

Eclipse Platform
Release 3.0

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.