pluginDefinition['weight'])) { $this->pluginDefinition['weight'] = 0; } return $this->pluginDefinition['weight']; } /** * {@inheritdoc} */ public function getMenuName() { return $this->pluginDefinition['menu_name']; } /** * {@inheritdoc} */ public function getProvider() { return $this->pluginDefinition['provider']; } /** * {@inheritdoc} */ public function getParent() { return $this->pluginDefinition['parent']; } /** * {@inheritdoc} */ public function isEnabled() { return (bool) $this->pluginDefinition['enabled']; } /** * {@inheritdoc} */ public function isExpanded() { return (bool) $this->pluginDefinition['expanded']; } /** * {@inheritdoc} */ public function isResettable() { return FALSE; } /** * {@inheritdoc} */ public function isTranslatable() { return (bool) $this->getTranslateRoute(); } /** * {@inheritdoc} */ public function isDeletable() { return (bool) $this->getDeleteRoute(); } /** * {@inheritdoc} */ public function getOptions() { return $this->pluginDefinition['options'] ?: []; } /** * {@inheritdoc} */ public function getMetaData() { return $this->pluginDefinition['metadata'] ?: []; } /** * {@inheritdoc} */ public function getRouteName() { return isset($this->pluginDefinition['route_name']) ? $this->pluginDefinition['route_name'] : ''; } /** * {@inheritdoc} */ public function getRouteParameters() { return isset($this->pluginDefinition['route_parameters']) ? $this->pluginDefinition['route_parameters'] : []; } /** * {@inheritdoc} */ public function getUrlObject($title_attribute = TRUE) { $options = $this->getOptions(); if ($title_attribute && $description = $this->getDescription()) { $options['attributes']['title'] = $description; } if (empty($this->pluginDefinition['url'])) { return new Url($this->getRouteName(), $this->getRouteParameters(), $options); } else { return Url::fromUri($this->pluginDefinition['url'], $options); } } /** * {@inheritdoc} */ public function getFormClass() { return $this->pluginDefinition['form_class']; } /** * {@inheritdoc} */ public function getDeleteRoute() { return NULL; } /** * {@inheritdoc} */ public function getEditRoute() { return NULL; } /** * {@inheritdoc} */ public function getTranslateRoute() { return NULL; } /** * {@inheritdoc} */ public function deleteLink() { throw new PluginException("Menu link plugin with ID '{$this->getPluginId()}' does not support deletion"); } /** * {@inheritdoc} */ public function getCacheMaxAge() { return Cache::PERMANENT; } /** * {@inheritdoc} */ public function getCacheContexts() { return []; } /** * {@inheritdoc} */ public function getCacheTags() { return []; } }