Array with the descriptors.
public getDescriptors ( ) : array | ||
Résultat | array |
/** * The main method that creates new instances in a separate context. * * @param \AppserverIo\Psr\Application\ApplicationInterface $application The application instance to register the class loader with * @param \AppserverIo\Appserver\Core\Api\Node\ManagerNodeInterface $managerConfiguration The manager configuration * * @return void */ public static function visit(ApplicationInterface $application, ManagerNodeInterface $managerConfiguration) { // load the configured descriptors from the configuration $configuredDescriptors = $managerConfiguration->getDescriptors(); // create the storage for the data and the bean descriptors $data = new StackableStorage(); $objectDescriptors = new StackableStorage(); // create and initialize the object manager instance $objectManager = new ObjectManager(); $objectManager->injectData($data); $objectManager->injectApplication($application); $objectManager->injectObjectDescriptors($objectDescriptors); $objectManager->injectConfiguredDescriptors($configuredDescriptors); // attach the instance $application->addManager($objectManager, $managerConfiguration); }
/** * This method merges the configuration of the passed manager node * into this one. * * @param \AppserverIo\Appserver\Core\Api\Node\ManagerNodeInterface $managerNode The node with the manager configuration we want to merge * * @return void */ public function merge(ManagerNodeInterface $managerNode) { // make sure, we only merge nodes with the same name if (strcasecmp($this->getName(), $managerNode->getName()) !== 0) { return; } // override type and factory attributes $this->type = $managerNode->getType(); $this->factory = $managerNode->getFactory(); $this->contextFactory = $managerNode->getContextFactory(); // load the authenticators of this manager node $localAuthenticators = $this->getAuthenticators(); // iterate over the authenticator nodes of the passed manager node and merge them foreach ($managerNode->getAuthenticators() as $authenticatorNode) { $isMerged = false; foreach ($localAuthenticators as $key => $localAuthenticator) { if (strcasecmp($localAuthenticator->getName(), $authenticatorNode->getName()) === 0) { $localAuthenticators[$key] = $authenticatorNode; $isMerged = true; } } if ($isMerged === false) { $localAuthenticators[$authenticatorNode->getUuid()] = $authenticatorNode; } } // override the authenticators with the merged mones $this->authenticators = $localAuthenticators; // override the descriptors if available if (sizeof($descriptors = $managerNode->getDescriptors()) > 0) { $this->descriptors = $descriptors; } // override the directories if available if (sizeof($directories = $managerNode->getDirectories()) > 0) { $this->directories = $directories; } // override the params if available if (sizeof($params = $managerNode->getParams()) > 0) { $this->params = $params; } // override the security domains if available if (sizeof($securityDomains = $managerNode->getSecurityDomains()) > 0) { $this->securityDomains = $securityDomains; } }