cache_service = $cache_service; } /** * @param Identifier $identifier * @return Identifier */ public function generate(Identifier $identifier){ do { $key = sprintf("%s.%s", $identifier->getType(), Hash::compute('sha256', $this->_generate($identifier)->getValue())); } while(!$this->cache_service->addSingleValue($key, $key)); return $identifier; } /** * @param Identifier $identifier * @return Identifier */ abstract protected function _generate(Identifier $identifier); }