Class DetachedContentRuntimeRepository

All Implemented Interfaces:
IRuntimeRepository, IDetachedContentRuntimeRepository

public class DetachedContentRuntimeRepository extends AbstractClassLoadingRuntimeRepository implements IDetachedContentRuntimeRepository
/** The DetachedContentRuntimeRepository is a runtime repository that is able to parse the product data provided from a IProductDataProvider and instantiates the necessary objects.

Because the data from an IProductDataProvider could change over time the DetachedContentRuntimeRepository have to look for modifications and reinstantiates the classes if necessary. Once product data has changed, this repository only provides the already cached data. If the user requests new data it gets a DataModifiedRuntimeException.

This implements a optimistic locking mechanism. That means that nothing happens until the requested data is invalid. Once the product data has changed, this repository could still get cached data. That means every request that only calls data from the cache would continue without errors. To guarantee that a client does not work on out-dated data it has to get the actual DetachedContentRuntimeRepository from DetachedContentRuntimeRepositoryManager for every new request.

Author:
dirmeier