/**
  * {@inheritDoc}
  */
 public function saveParameter($namespace, $name, $value)
 {
     $eventParams = ['namespace' => $namespace, 'name' => $name, 'value' => $value];
     $this->getEventManager()->trigger(__FUNCTION__, $this, $eventParams);
     if ($this->options->getCacheOptions()->isEnabled()) {
         $this->getCacheManager()->delete($namespace);
     }
     $parameter = $this->settingsMapper->findParameter($namespace, $name);
     if ($parameter) {
         if ($parameter->getValue() != $value) {
             $parameter->setValue($value);
             $this->getEventManager()->trigger('updateParameter', $this, ['parameter' => $parameter]);
             $this->settingsMapper->updateParameter($parameter);
         }
     } else {
         $parameterEntityClass = $this->options->getParameterEntityClass();
         $parameter = new $parameterEntityClass();
         $parameter->setNamespace($namespace);
         $parameter->setName($name);
         $parameter->setValue($value);
         $this->getEventManager()->trigger('insertParameter', $this, ['parameter' => $parameter]);
         $this->settingsMapper->insertParameter($parameter);
     }
     $this->getEventManager()->trigger(__FUNCTION__ . '.post', $this, $eventParams);
 }
 /**
  * Gets cacheOptions
  *
  * @return \HtSettingsModule\Options\CacheOptionsInterface
  */
 public function getCacheOptions()
 {
     return $this->options->getCacheOptions();
 }