/** * @param CacheService $cacheService * @param ModuleOptions $options * @param ServiceLocatorInterface $serviceLocator * @throws RuntimeException */ protected function setupIdGenerator(CacheService $cacheService, ModuleOptions $options, ServiceLocatorInterface $serviceLocator) { $idGenerator = $options->getIdGenerator(); $idGeneratorManager = $serviceLocator->get('StrokerCache\\IdGenerator\\IdGeneratorPluginManager'); if ($idGeneratorManager->has($idGenerator)) { $cacheService->setIdGenerator($idGeneratorManager->get($idGenerator)); } else { throw new RuntimeException('No IdGenerator register for key ' . $idGenerator); } }