private function refreshState() { if (null === $this->typeDescriptor || !$this->typeDescriptor->isLoaded()) { $this->state = BindingState::TYPE_NOT_FOUND; } elseif (!$this->typeDescriptor->isEnabled()) { $this->state = BindingState::TYPE_NOT_ENABLED; } elseif (count($this->loadErrors) > 0) { $this->state = BindingState::INVALID; } elseif ($this->containingModule instanceof RootModule) { $this->state = BindingState::ENABLED; } elseif ($this->containingModule->getInstallInfo()->hasDisabledBindingUuid($this->binding->getUuid())) { $this->state = BindingState::DISABLED; } else { $this->state = BindingState::ENABLED; } }
/** * {@inheritdoc} */ public function addBinding(Binding $binding) { $uuidString = $binding->getUuid()->toString(); if (isset($this->bindings[$uuidString])) { return; } $this->initializeBinding($binding); $this->bindings[$uuidString] = $binding; $this->bindingsByTypeName[$binding->getTypeName()][$uuidString] = $binding; }
/** * {@inheritdoc} */ public function addBinding(Binding $binding) { $typeName = $binding->getTypeName(); if (!isset($this->keysByTypeName[$typeName])) { throw NoSuchTypeException::forTypeName($typeName); } if (isset($this->keysByUuid[$binding->getUuid()->toString()])) { // Ignore duplicates return; } $key = $this->keysByTypeName[$typeName]; if (!isset($this->bindingsByKey[$key])) { $this->loadBindingsForKey($key); } $this->initializeBinding($binding); $this->keysByUuid[$binding->getUuid()->toString()] = $key; $this->bindingsByKey[$key][] = $binding; $this->store->set('b:' . $key, $this->bindingsByKey[$key]); $this->store->set('::keysByUuid', $this->keysByUuid); }
/** * {@inheritdoc} */ public function addBinding(Binding $binding) { if (null === $this->json) { $this->load(); } $typeName = $binding->getTypeName(); if (!isset($this->json['keysByTypeName'][$typeName])) { throw NoSuchTypeException::forTypeName($typeName); } if (isset($this->json['keysByUuid'][$binding->getUuid()->toString()])) { // Ignore duplicates return; } $key = $this->json['keysByTypeName'][$typeName]; if (!isset($this->bindingsByKey[$key])) { $this->loadBindingsForKey($key); } $this->initializeBinding($binding); $this->bindingsByKey[$key][] = $binding; $this->json['keysByUuid'][$binding->getUuid()->toString()] = $key; $this->json['bindingsByKey'][$key] = serialize($this->bindingsByKey[$key]); $this->flush(); }