Inheritance: extends ZF\Apigility\Admin\Model\NewRestServiceEntity, implements Zend\Stdlib\ArraySerializableInterface
 /**
  * Create a new Doctrine REST service
  *
  * @param array|object $data
  * @return DoctrineRestServiceEntity|ApiProblem
  */
 public function create($data)
 {
     if (is_object($data)) {
         $data = (array) $data;
     }
     $type = DoctrineRestServiceModelFactory::TYPE_DEFAULT;
     $creationData = new NewDoctrineServiceEntity();
     $creationData->exchangeArray($data);
     $model = $this->getModel($type);
     try {
         $service = $model->createService($creationData);
     } catch (\Exception $e) {
         return new ApiProblem(409, sprintf('Unable to create Doctrine REST service: %s', $e->getMessage()));
     }
     return $service;
 }
 /**
  * Create a new service using the details provided
  *
  * @param NewDoctrineServiceEntity $details
  * @return DoctrineRestServiceEntity
  * @throws CreationException
  */
 public function createService(NewDoctrineServiceEntity $details)
 {
     $resourceName = ucfirst($details->serviceName);
     if (!preg_match('/^[a-zA-Z][a-zA-Z0-9_]*(\\\\[a-zA-Z][a-zA-Z0-9_]*)*$/', $resourceName)) {
         throw new CreationException('Invalid resource name; must be a valid PHP namespace name.');
     }
     if (!$this->getServiceManager()->has($details->objectManager)) {
         throw new CreationException('Invalid object manager specified. Must be declared in the service manager.', 422);
     }
     $entity = new DoctrineRestServiceEntity();
     $entity->exchangeArray($details->getArrayCopy());
     $mediaType = $this->createMediaType();
     $resourceClass = $details->resourceClass ?: $this->createResourceClass($resourceName, $details);
     $collectionClass = $details->collectionClass ?: $this->createCollectionClass($resourceName);
     $serviceName = $details->serviceName ?: $resourceName;
     $entityClass = $details->entityClass;
     if (!$entityClass || !class_exists($entityClass)) {
         throw new CreationException('entityClass is required and must exist');
     }
     $module = $details->module ?: $this->module;
     $controllerService = $details->controllerServiceName ?: $this->createControllerServiceName($resourceName);
     $routeName = $details->routeName ?: $this->createRoute($resourceName, $details->routeMatch, $details->routeIdentifierName, $controllerService);
     $hydratorName = $details->hydratorName ?: $this->createHydratorName($resourceName);
     $objectManager = $details->objectManager ?: 'doctrine.entitymanager.orm_default';
     $entity->exchangeArray(['service_name' => $serviceName, 'collection_class' => $collectionClass, 'controller_service_name' => $controllerService, 'entity_class' => $entityClass, 'hydrator_name' => $hydratorName, 'module' => $module, 'resource_class' => $resourceClass, 'route_name' => $routeName, 'accept_whitelist' => [$mediaType, 'application/hal+json', 'application/json'], 'content_type_whitelist' => [$mediaType, 'application/json'], 'object_manager' => $objectManager]);
     $this->createRestConfig($entity, $controllerService, $resourceClass, $routeName);
     $this->createContentNegotiationConfig($entity, $controllerService);
     $this->createHalConfig($entity, $entityClass, $collectionClass, $routeName);
     $this->createDoctrineConfig($entity, $entityClass, $collectionClass, $routeName);
     $this->createDoctrineHydratorConfig($entity, $entityClass, $collectionClass, $routeName);
     $this->getEventManager()->trigger(__FUNCTION__, $this, ['entity' => $entity, 'configResource' => $this->configResource]);
     return $entity;
 }
 /**
  * Create a new REST service
  *
  * @param  array|object $data
  * @return DoctrineRestServiceEntity
  * @throws CreationException
  */
 public function create($data)
 {
     if (is_object($data)) {
         // @codeCoverageIgnoreStart
         $data = (array) $data;
     }
     // @codeCoverageIgnoreEnd
     $type = DoctrineRestServiceModelFactory::TYPE_DEFAULT;
     $creationData = new NewDoctrineServiceEntity();
     $creationData->exchangeArray($data);
     $model = $this->getModel($type);
     try {
         $service = $model->createService($creationData);
     } catch (\Exception $e) {
         // @codeCoverageIgnoreStart
         throw new CreationException('Unable to create REST service', $e->getCode(), $e);
         // @codeCoverageIgnoreEnd
     }
     return $service;
 }