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 Details

    • 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