Inheritance: implements Zend\EventManager\EventManagerAwareInterface
 /**
  * Delete a DB-Connected service
  *
  * @param  DbConnectedRestServiceEntity $entity
  * @param  bool $recursive
  * @return true
  */
 public function deleteService(DbConnectedRestServiceEntity $entity, $recursive = false)
 {
     $this->restModel->deleteService($entity->controllerServiceName);
     $this->deleteDbConnectedConfig($entity);
     if ($recursive) {
         $reflection = new ReflectionClass($entity->entityClass);
         Utility::recursiveDelete(dirname($reflection->getFileName()));
     }
     return true;
 }
 /**
  * @param  string $module
  * @return RestServiceModel
  */
 public function factory($module, $type = self::TYPE_DEFAULT)
 {
     if (isset($this->models[$type]) && isset($this->models[$type][$module])) {
         return $this->models[$type][$module];
     }
     $moduleName = $this->normalizeModuleName($module);
     $config = $this->configFactory->factory($module);
     $moduleEntity = $this->moduleModel->getModule($moduleName);
     $restModel = new RestServiceModel($moduleEntity, $this->modules, $config);
     $restModel->getEventManager()->setSharedManager($this->sharedEventManager);
     switch ($type) {
         case self::TYPE_DEFAULT:
             $this->models[$type][$module] = $restModel;
             return $restModel;
         case self::TYPE_DB_CONNECTED:
             $model = new $type($restModel);
             $this->models[$type][$module] = $model;
             return $model;
         default:
             throw new Exception\InvalidArgumentException(sprintf('Model of type "%s" does not exist or cannot be handled by this factory', $type));
     }
 }