Package org.faktorips.runtime.internal
Class AbstractRuntimeRepositoryManager
java.lang.Object
org.faktorips.runtime.internal.AbstractRuntimeRepositoryManager
- All Implemented Interfaces:
IRuntimeRepositoryManager
- Direct Known Subclasses:
ClassloaderRuntimeRepositoryManager,DetachedContentRuntimeRepositoryManager
public abstract class AbstractRuntimeRepositoryManager
extends Object
implements IRuntimeRepositoryManager
The
AbstractRuntimeRepositoryManager manages the referenced
IRuntimeRepositoryManager. It delegates the up-to-date check and the creation of new
repositories to the subclass.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidUse this method to add a referencedIRuntimeRepositoryManager.protected abstract IRuntimeRepositoryCreates a new repository.Deprecated.since 3.9.0: The method name was a false translation from German.Collect all referenced manager.Call a modification check on the product data provider.Get the list of direct references managers.protected abstract booleanisRepositoryUpToDate(IRuntimeRepository currentRuntimeRepository) Checks whether theIRuntimeRepositoryis up to date or not.
-
Constructor Details
-
AbstractRuntimeRepositoryManager
public AbstractRuntimeRepositoryManager()Creates a newAbstractRuntimeRepositoryManager
-
-
Method Details
-
getActualRuntimeRepository
Deprecated.since 3.9.0: The method name was a false translation from German. The correct method is calledgetCurrentRuntimeRepository()Call a modification check on the product data provider. If there are any changes in the product data, this method creates a newIRuntimeRepository. If there are no changes this method simply returns the existing one.- Specified by:
getActualRuntimeRepositoryin interfaceIRuntimeRepositoryManager
-
getCurrentRuntimeRepository
Description copied from interface:IRuntimeRepositoryManagerCall a modification check on the product data provider. If there are any changes in the product data, this method creates a newIRuntimeRepository. 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
nullas its current repository, this direct referenced repository will be ignored.- Specified by:
getCurrentRuntimeRepositoryin interfaceIRuntimeRepositoryManager
-
isRepositoryUpToDate
Checks whether theIRuntimeRepositoryis up to date or not. If this method returnsfalse, a new repository has to be created.- Parameters:
currentRuntimeRepository- the runtime repository that has to be checked- Returns:
- whether the repository is still up to date
-
createNewRuntimeRepository
Creates a new repository. This method has to create the repository but must NOT connect the repository to the other referenced repositories.- Returns:
- A newly created
IRuntimeRepository
-
addDirectlyReferencedManager
Description copied from interface:IRuntimeRepositoryManagerUse this method to add a referencedIRuntimeRepositoryManager. TheIRuntimeRepositoryreturned byIRuntimeRepositoryManager.getCurrentRuntimeRepository()asks all references managers for their repositories and adding the references.- Specified by:
addDirectlyReferencedManagerin interfaceIRuntimeRepositoryManager- Parameters:
manager- The manager to connect with this manager
-
getDirectlyReferencedRepositoryManagers
Description copied from interface:IRuntimeRepositoryManagerGet the list of direct references managers.- Specified by:
getDirectlyReferencedRepositoryManagersin interfaceIRuntimeRepositoryManager- Returns:
- All directly referenced managers
-
getAllReferencedRepositoryManagers
Description copied from interface:IRuntimeRepositoryManagerCollect all referenced manager. This request all referenced managers from the direct references managers recursively.- Specified by:
getAllReferencedRepositoryManagersin interfaceIRuntimeRepositoryManager- Returns:
- A list of all
IRuntimeRepositoryManagerthat are referenced directly or indirectly
-