Chris@0: manager = $manager; Chris@0: $this->addInstanceId($instance_id, $configuration); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function initializePlugin($instance_id) { Chris@0: $this->set($instance_id, $this->manager->createInstance($instance_id, $this->configuration)); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getConfiguration() { Chris@0: $plugin = $this->get($this->instanceId); Chris@18: if (PluginHelper::isConfigurable($plugin)) { Chris@0: return $plugin->getConfiguration(); Chris@0: } Chris@0: else { Chris@0: return $this->configuration; Chris@0: } Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function setConfiguration($configuration) { Chris@0: $this->configuration = $configuration; Chris@0: $plugin = $this->get($this->instanceId); Chris@18: if (PluginHelper::isConfigurable($plugin)) { Chris@0: $plugin->setConfiguration($configuration); Chris@0: } Chris@0: return $this; Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function addInstanceId($id, $configuration = NULL) { Chris@0: $this->instanceId = $id; Chris@0: // Reset the list of instance IDs since there can be only one. Chris@0: $this->instanceIDs = []; Chris@0: parent::addInstanceId($id, $configuration); Chris@0: if ($configuration !== NULL) { Chris@0: $this->setConfiguration($configuration); Chris@0: } Chris@0: } Chris@0: Chris@0: }