|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.eclipse.team.core.RepositoryProvider
A concrete subclass of RepositoryProvider
is created for each
project that is associated with a repository provider. The lifecycle of these
instances is is similar to that of the platform's 'nature' mechanism.
To create a repository provider and have it registered with the platform, a client must minimally:
RepositoryProvider
plugin.xml
.
Here is an example extension point definition:
<extension point="org.eclipse.team.core.repository">
<repository
class="org.eclipse.myprovider.MyRepositoryProvider"
id="org.eclipse.myprovider.myProviderID">
</repository>
</extension>
Once a repository provider is registered with Team, then you
can associate a repository provider with a project by invoking RepositoryProvider.map()
.
RepositoryProvider.map(IProject, String)
Constructor Summary | |
RepositoryProvider()
Default constructor required for the resources plugin to instantiate this class from the nature extension definition. |
Method Summary | |
void |
configure()
Configures the nature for the given project. |
abstract void |
configureProject()
Configures the provider for the given project. |
static void |
convertNatureToProperty(IProject project,
boolean removeNature)
|
static String[] |
getAllProviderTypeIds()
Returns all known (registered) RepositoryProvider ids. |
IFileModificationValidator |
getFileModificationValidator()
Returns an IFileModificationValidator for pre-checking operations
that modify the contents of files. |
abstract String |
getID()
Answer the id of this provider instance. |
IMoveDeleteHook |
getMoveDeleteHook()
Returns an IMoveDeleteHook for handling moves and deletes
that occur withing projects managed by the provider. |
IProject |
getProject()
Returns the project to which this project nature applies. |
static RepositoryProvider |
getProvider(IProject project)
Returns the provider for a given IProject or null if a provider is not associated with
the project or if the project is closed or does not exist. |
static RepositoryProvider |
getProvider(IProject project,
String id)
Returns a provider of type with the given id if associated with the given project or null if the project is not associated with a provider of that type
or the nature id is that of a non-team repository provider nature. |
org.eclipse.team.internal.core.simpleAccess.SimpleAccessOperations |
getSimpleAccess()
Provisional non-API method. |
static void |
map(IProject project,
String id)
Instantiate a new RepositoryProvider with concrete class by given providerID and associate it with project. |
void |
setProject(IProject project)
Sets the project to which this nature applies. |
String |
toString()
Returns a brief description of this provider. |
static void |
unmap(IProject project)
Disassoociates project with the repository provider its currently mapped to. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.core.resources.IProjectNature |
deconfigure |
Constructor Detail |
public RepositoryProvider()
Method Detail |
public static void map(IProject project, String id) throws TeamException
project
- the project to be mappedid
- the ID of the provider to be mapped to the project
TeamException
- if
unmap(IProject)
public static void unmap(IProject project) throws TeamException
project
-
TeamException
- The project isn't associated with any repository provider.public abstract void configureProject() throws CoreException
setProject
.
If an exception is generated during configuration
of the project, the provider will not be assigned to the project.
CoreException
- if the configuration fails.public final void configure() throws CoreException
RepositoryProvider.map()
the first time a provider is mapped to a project. It is not intended to be called by clients.
configure
in interface IProjectNature
CoreException
- if this method fails. If the configuration fails the provider will not be
associated with the project.configureProject()
public abstract String getID()
public IFileModificationValidator getFileModificationValidator()
IFileModificationValidator
for pre-checking operations
that modify the contents of files.
Returns null
if the provider does not wish to participate in
file modification validation.
IFileModificationValidator
public IMoveDeleteHook getMoveDeleteHook()
IMoveDeleteHook
for handling moves and deletes
that occur withing projects managed by the provider. This allows providers
to control how moves and deletes occur and includes the ability to prevent them.
Returning null
signals that the default move and delete behavior is desired.
org.eclipse.core.resources.IMoveDeleteHook
public String toString()
toString
in class Object
public static final String[] getAllProviderTypeIds()
public static final RepositoryProvider getProvider(IProject project)
null
if a provider is not associated with
the project or if the project is closed or does not exist. This method should be called if the caller
is looking for any repository provider. Otherwise call getProvider(project, id)
to look for a specific repository provider type.
project
- the project to query for a provider
public static final RepositoryProvider getProvider(IProject project, String id)
null
if the project is not associated with a provider of that type
or the nature id is that of a non-team repository provider nature.
project
- the project to query for a providerid
- the repository provider id
public org.eclipse.team.internal.core.simpleAccess.SimpleAccessOperations getSimpleAccess()
null
if the provider does not wish to support these
operations.
null
if the provider does not
support provider neutral operations.SimpleAccessOperations
public IProject getProject()
IProjectNature
getProject
in interface IProjectNature
public void setProject(IProject project)
IProjectNature
IProject.create()
or
IProject.setDescription()
and should not be called directly by clients.
setProject
in interface IProjectNature
project
- the project to which this nature appliespublic static void convertNatureToProperty(IProject project, boolean removeNature) throws TeamException
TeamException
|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |