org.faktorips.runtime
Interface IRuntimeRepositoryManager

All Known Implementing Classes:
AbstractRuntimeRepositoryManager, ClassloaderRuntimeRepositoryManager, DetachedContentRuntimeRepositoryManager

public interface IRuntimeRepositoryManager

The IRuntimeRepositoryManager is able to provide a IRuntimeRepository. The manager is used in scenarios where product data could change over time. In this case, the repository would throw exceptions because product data is out-dated. By calling the method getActualRuntimeRepository() the client gets a new IRuntimeRepository that is able to work with the actual data.

If you use a set of referenced repositories you have to connect your IRuntimeRepositoryManagers instead of the repositories. That enables the manager to set all the necessary references after creating a new repository.

Author:
dirmeier

Method Summary
 void addDirectlyReferencedManager(IRuntimeRepositoryManager manager)
          Use this method to add a referenced IRuntimeRepositoryManager.
 IRuntimeRepository getActualRuntimeRepository()
          Deprecated. since 3.9.0: The method name was a false translation from German. The correct method is called getCurrentRuntimeRepository()
 List<IRuntimeRepositoryManager> getAllReferencedRepositoryManagers()
          Collect all referenced manager.
 IRuntimeRepository getCurrentRuntimeRepository()
          Call a modification check on the product data provider.
 List<IRuntimeRepositoryManager> getDirectlyReferencedRepositoryManagers()
          Get the list of direct references managers.
 

Method Detail

getActualRuntimeRepository

@Deprecated
IRuntimeRepository getActualRuntimeRepository()
Deprecated. since 3.9.0: The method name was a false translation from German. The correct method is called getCurrentRuntimeRepository()

Call a modification check on the product data provider. If there are any changes in the product data, this method creates a new IRuntimeRepository. If there are no changes this method simply returns the existing one.


getCurrentRuntimeRepository

IRuntimeRepository getCurrentRuntimeRepository()
Call a modification check on the product data provider. If there are any changes in the product data, this method creates a new IRuntimeRepository. If there are no changes this method simply returns the existing one. The current runtime repository can be null.

Every direct referenced manger will be asked for it current repository. If any direct referenced manager returns null as its current repository, this direct referenced repository will be ignored.


addDirectlyReferencedManager

void addDirectlyReferencedManager(IRuntimeRepositoryManager manager)
Use this method to add a referenced IRuntimeRepositoryManager. The IRuntimeRepository returned by getCurrentRuntimeRepository() asks all references managers for their repositories and adding the references.

Parameters:
manager - The manager to connect with this manager

getDirectlyReferencedRepositoryManagers

List<IRuntimeRepositoryManager> getDirectlyReferencedRepositoryManagers()
Get the list of direct references managers.

Returns:
All directly referenced managers

getAllReferencedRepositoryManagers

List<IRuntimeRepositoryManager> getAllReferencedRepositoryManagers()
Collect all referenced manager. This request all referenced managers from the direct references managers recursively.

Returns:
A list of all IRuntimeRepositoryManager that are referenced directly or indirectly


Copyright © 2015. All rights reserved.