org.eclipse.stardust.engine.core.spi.dms
Interface IRepositoryProvider


@SPI(status=Stable,
     useRestriction=Public)
public interface IRepositoryProvider

This SPI allows to implement IRepositoryProvider which provides an access layer for arbitrary repository technologies.

General Design

Lifecycle


The IRepositoryProvider is loaded as part of the SPI contract.

A IRepositoryInstance is usually located via a distinct URL or jndiName and is created and destroyed at runtime using the following methods:

A IRepositoryService usually represents a session on the IRepositoryInstance and contains all methods needed for repository operations.

Default Instances


If a configuration is supplied via getDefaultConfigurations() the repository instances are created after the provider is loaded.

Author:
Roland.Stamm

Nested Class Summary
static interface IRepositoryProvider.Factory
          Factory for IRepositoryProvider.
 
Method Summary
 IRepositoryInstance createInstance(IRepositoryConfiguration configuration, String partitionId)
          This is used to create a IRepositoryInstance.
 void destroyInstance(IRepositoryInstance instance)
          This is called when a IRepositoryInstance is destroyed and should cleanup the used resources.
 List<IRepositoryConfiguration> getDefaultConfigurations()
          Optionally configurations that should be used to create repository instances after the provider has loaded can be specified.
 String getProviderId()
           
 IRepositoryProviderInfo getProviderInfo()
           
 

Method Detail

getProviderId

String getProviderId()
Returns:
The id of the provider. Each provider must have a different Id.

getDefaultConfigurations

List<IRepositoryConfiguration> getDefaultConfigurations()
Optionally configurations that should be used to create repository instances after the provider has loaded can be specified.

Returns:
repository configurations that should be used to implicitly create repository instances.

createInstance

IRepositoryInstance createInstance(IRepositoryConfiguration configuration,
                                   String partitionId)
This is used to create a IRepositoryInstance.

Parameters:
configuration - The configuration for the instance.
partitionId - The partition on which the instance is used.
Returns:
An initialized instance.

destroyInstance

void destroyInstance(IRepositoryInstance instance)
This is called when a IRepositoryInstance is destroyed and should cleanup the used resources.

Parameters:
instance - The instance to be destroyed.

getProviderInfo

IRepositoryProviderInfo getProviderInfo()
Returns:
Information about the provider.


Copyright © 2017 Eclipse Stardust. All Rights Reserved.