class SolrFieldType in Search API Solr 8.3
Same name and namespace in other branches
- 8.2 src/Entity/SolrFieldType.php \Drupal\search_api_solr\Entity\SolrFieldType
 - 4.x src/Entity/SolrFieldType.php \Drupal\search_api_solr\Entity\SolrFieldType
 
Defines the SolrFieldType entity.
Plugin annotation
@ConfigEntityType(
  id = "solr_field_type",
  label = @Translation("Solr Field Type"),
  handlers = {
    "list_builder" = "Drupal\search_api_solr\Controller\SolrFieldTypeListBuilder",
    "form" = {
      "add" = "Drupal\search_api_solr\Form\SolrFieldTypeForm",
      "edit" = "Drupal\search_api_solr\Form\SolrFieldTypeForm",
      "delete" = "Drupal\search_api_solr\Form\SolrFieldTypeDeleteForm"
    }
  },
  config_prefix = "solr_field_type",
  admin_permission = "administer search_api",
  entity_keys = {
    "id" = "id",
    "label" = "label",
    "uuid" = "uuid",
    "disabled" = "disabled_field_types"
  },
  config_export = {
    "id",
    "label",
    "minimum_solr_version",
    "custom_code",
    "field_type_language_code",
    "domains",
    "field_type",
    "unstemmed_field_type",
    "spellcheck_field_type",
    "collated_field_type",
    "solr_configs",
    "text_files"
  },
  links = {
    "edit-form" = "/admin/config/search/search-api/solr_field_type/{solr_field_type}",
    "delete-form" = "/admin/config/search/search-api/solr_field_type/{solr_field_type}/delete",
    "disable-for-server" = "/admin/config/search/search-api/server/{search_api_server}/solr_field_type/{solr_field_type}/disable",
    "enable-for-server" = "/admin/config/search/search-api/server/{search_api_server}/solr_field_type/{solr_field_type}/enable",
    "collection" = "/admin/config/search/search-api/server/{search_api_server}/solr_field_type"
  }
)
  Hierarchy
- class \Drupal\Core\Entity\EntityBase implements EntityInterface uses RefinableCacheableDependencyTrait, DependencySerializationTrait
- class \Drupal\Core\Config\Entity\ConfigEntityBase implements ConfigEntityInterface uses SynchronizableEntityTrait, PluginDependencyTrait
- class \Drupal\search_api_solr\Entity\AbstractSolrEntity implements SolrConfigInterface
- class \Drupal\search_api_solr\Entity\SolrFieldType implements SolrFieldTypeInterface
 
 
 - class \Drupal\search_api_solr\Entity\AbstractSolrEntity implements SolrConfigInterface
 
 - class \Drupal\Core\Config\Entity\ConfigEntityBase implements ConfigEntityInterface uses SynchronizableEntityTrait, PluginDependencyTrait
 
Expanded class hierarchy of SolrFieldType
3 files declare their use of SolrFieldType
- CustomTextDataType.php in src/
Plugin/ Derivative/ CustomTextDataType.php  - OmitNormsCustomTextDataType.php in src/
Plugin/ Derivative/ OmitNormsCustomTextDataType.php  - SearchApiSolrBackend.php in src/
Plugin/ search_api/ backend/ SearchApiSolrBackend.php  
File
- src/
Entity/ SolrFieldType.php, line 56  
Namespace
Drupal\search_api_solr\EntityView source
class SolrFieldType extends AbstractSolrEntity implements SolrFieldTypeInterface {
  /**
   * Solr Field Type definition.
   *
   * @var array
   */
  protected $field_type;
  /**
   * Solr Spellcheck Field Type definition.
   *
   * @var array
   */
  protected $spellcheck_field_type;
  /**
   * Solr Collated Field Type definition.
   *
   * @var array
   */
  protected $collated_field_type;
  /**
   * Solr Unstemmed Field Type definition.
   *
   * @var array
   */
  protected $unstemmed_field_type;
  /**
   * The custom code targeted by this Solr Field Type.
   *
   * @var string
   */
  protected $custom_code;
  /**
   * The language targeted by this Solr Field Type.
   *
   * @var string
   */
  protected $field_type_language_code;
  /**
   * The targeted content domains.
   *
   * @var string[]
   */
  protected $domains;
  /**
   * {@inheritdoc}
   */
  public function getFieldType() {
    return $this->field_type;
  }
  /**
   * {@inheritdoc}
   */
  public function setFieldType(array $field_type) {
    $this->field_type = $field_type;
    return $this;
  }
  /**
   * {@inheritdoc}
   */
  public function getName() : string {
    return $this->field_type['name'];
  }
  /**
   * {@inheritdoc}
   */
  public function getSpellcheckFieldType() {
    return $this->spellcheck_field_type;
  }
  /**
   * {@inheritdoc}
   */
  public function setSpellcheckFieldType(array $spellcheck_field_type) {
    $this->spellcheck_field_type = $spellcheck_field_type;
    return $this;
  }
  /**
   * {@inheritdoc}
   */
  public function getCollatedFieldType() {
    return $this->collated_field_type;
  }
  /**
   * {@inheritdoc}
   */
  public function setCollatedFieldType(array $collated_field_type) {
    $this->collated_field_type = $collated_field_type;
    return $this;
  }
  /**
   * {@inheritdoc}
   */
  public function getUnstemmedFieldType() {
    return $this->unstemmed_field_type;
  }
  /**
   * {@inheritdoc}
   */
  public function setUnstemmedFieldType(array $unstemmed_field_type) {
    $this->unstemmed_field_type = $unstemmed_field_type;
    return $this;
  }
  /**
   * {@inheritdoc}
   */
  public function getCustomCode() {
    return $this->custom_code;
  }
  /**
   * {@inheritdoc}
   */
  public function getFieldTypeLanguageCode() {
    return $this->field_type_language_code;
  }
  /**
   * {@inheritdoc}
   */
  public function getDomains() {
    return empty($this->domains) ? [
      'generic',
    ] : $this->domains;
  }
  /**
   * {@inheritdoc}
   */
  public function getOptions() {
    return $this
      ->getDomains();
  }
  /**
   * Get all available domains form solr filed type configs.
   *
   * @return string[]
   *   An array of domains as strings.
   */
  public static function getAvailableDomains() {
    return parent::getAvailableOptions('domains', 'generic', 'search_api_solr.solr_field_type.');
  }
  /**
   * Get all available custom codes.
   *
   * @return string[]
   *   An array of custom codes as strings.
   */
  public static function getAvailableCustomCodes() {
    $custom_codes = [];
    $config_factory = \Drupal::configFactory();
    foreach ($config_factory
      ->listAll('search_api_solr.solr_field_type.') as $field_type_name) {
      $config = $config_factory
        ->get($field_type_name);
      if ($custom_code = $config
        ->get('custom_code')) {
        $custom_codes[] = $custom_code;
      }
    }
    return array_unique($custom_codes);
  }
  /**
   * {@inheritdoc}
   */
  public function getFieldTypeAsJson(bool $pretty = FALSE) {
    // Unfortunately the JSON encoded field type definition still uses the
    // element names "indexAnalyzer", "queryAnalyzer" and "multiTermAnalyzer"
    // which are deprecated in the XML format. Therefor we need to add some
    // conversion logic.
    $field_type = $this->field_type;
    unset($field_type['analyzers']);
    foreach ($this->field_type['analyzers'] as $analyzer) {
      $type = 'analyzer';
      if (!empty($analyzer['type'])) {
        if ('multiterm' === $analyzer['type']) {
          $type = 'multiTermAnalyzer';
        }
        else {
          $type = $analyzer['type'] . 'Analyzer';
        }
        unset($analyzer['type']);
      }
      $field_type[$type] = $analyzer;
    }
    /** @noinspection PhpComposerExtensionStubsInspection */
    return $pretty ? json_encode($field_type, JSON_PRETTY_PRINT | JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT) : Json::encode($field_type);
  }
  /**
   * {@inheritdoc}
   */
  public function setFieldTypeAsJson($field_type) {
    $field_type = $this->field_type = Json::decode($field_type);
    // Unfortunately the JSON encoded field type definition still uses the
    // element names "indexAnalyzer", "queryAnalyzer" and "multiTermAnalyzer"
    // which are deprecated in the XML format. Therefore we need to add some
    // conversion logic.
    $analyzers = [
      'index' => 'indexAnalyzer',
      'query' => 'queryAnalyzer',
      'multiterm' => 'multiTermAnalyzer',
      'analyzer' => 'analyzer',
    ];
    foreach ($analyzers as $type => $analyzer) {
      if (!empty($field_type[$analyzer])) {
        unset($this->field_type[$analyzer]);
        if ($type != $analyzer) {
          $field_type[$analyzer]['type'] = $type;
        }
        $this->field_type['analyzers'][] = $field_type[$analyzer];
      }
    }
    return $this;
  }
  /**
   * {@inheritdoc}
   */
  public function getSpellcheckFieldTypeAsJson(bool $pretty = FALSE) {
    if ($this->spellcheck_field_type) {
      /** @noinspection PhpComposerExtensionStubsInspection */
      return $pretty ? json_encode($this->spellcheck_field_type, JSON_PRETTY_PRINT | JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT) : Json::encode($this->spellcheck_field_type);
    }
    return '';
  }
  /**
   * {@inheritdoc}
   */
  public function setSpellcheckFieldTypeAsJson($spellcheck_field_type) {
    $this->spellcheck_field_type = Json::decode($spellcheck_field_type);
    return $this;
  }
  /**
   * {@inheritdoc}
   */
  public function getCollatedFieldTypeAsJson(bool $pretty = FALSE) {
    if ($this->collated_field_type) {
      /** @noinspection PhpComposerExtensionStubsInspection */
      return $pretty ? json_encode($this->collated_field_type, JSON_PRETTY_PRINT | JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT) : Json::encode($this->collated_field_type);
    }
    return '';
  }
  /**
   * {@inheritdoc}
   */
  public function setCollatedFieldTypeAsJson($collated_field_type) {
    $this->collated_field_type = Json::decode($collated_field_type);
    return $this;
  }
  /**
   * {@inheritdoc}
   */
  public function getUnstemmedFieldTypeAsJson(bool $pretty = FALSE) {
    if ($this->unstemmed_field_type) {
      /** @noinspection PhpComposerExtensionStubsInspection */
      return $pretty ? json_encode($this->unstemmed_field_type, JSON_PRETTY_PRINT | JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT) : Json::encode($this->unstemmed_field_type);
    }
    return '';
  }
  /**
   * {@inheritdoc}
   */
  public function setUnstemmedFieldTypeAsJson($unstemmed_field_type) {
    $this->unstemmed_field_type = Json::decode($unstemmed_field_type);
    return $this;
  }
  /**
   * {@inheritdoc}
   */
  public function getAsXml(bool $add_comment = TRUE) : string {
    return $this
      ->getSubFieldTypeAsXml($this->field_type);
  }
  /**
   * {@inheritdoc}
   */
  public function getSpellcheckFieldTypeAsXml($add_comment = TRUE) {
    return $this->spellcheck_field_type ? $this
      ->getSubFieldTypeAsXml($this->spellcheck_field_type, ' spellcheck') : '';
  }
  /**
   * {@inheritdoc}
   */
  public function getCollatedFieldTypeAsXml($add_comment = TRUE) {
    return $this->collated_field_type ? $this
      ->getSubFieldTypeAsXml($this->collated_field_type, ' collated') : '';
  }
  /**
   * {@inheritdoc}
   */
  public function getUnstemmedFieldTypeAsXml($add_comment = TRUE) {
    return $this->unstemmed_field_type ? $this
      ->getSubFieldTypeAsXml($this->unstemmed_field_type, ' unstemmed') : '';
  }
  /**
   * Serializes a filed type as XML fragment as required by Solr.
   *
   * @param array $field_type
   * @param string $additional_label
   * @param bool $add_comment
   *
   * @return string
   */
  protected function getSubFieldTypeAsXml(array $field_type, string $additional_label = '', bool $add_comment = TRUE) {
    $formatted_xml_string = $this
      ->buildXmlFromArray('fieldType', $field_type);
    $comment = '';
    if ($add_comment) {
      $comment = "<!--\n  " . $this
        ->label() . $additional_label . "\n  " . $this
        ->getMinimumSolrVersion() . "\n-->\n";
    }
    return $comment . $formatted_xml_string;
  }
  /**
   * {@inheritdoc}
   */
  public function getSolrConfigs() {
    return $this->solr_configs;
  }
  /**
   * {@inheritdoc}
   */
  public function getDynamicFields(?int $solr_major_version = NULL) {
    $dynamic_fields = [];
    $prefixes = $this->custom_code ? [
      'tc' . $this->custom_code,
      'toc' . $this->custom_code,
      'tuc' . $this->custom_code,
    ] : [
      't',
      'to',
      'tu',
    ];
    foreach ($prefixes as $prefix_without_cardinality) {
      foreach ([
        's',
        'm',
      ] as $cardinality) {
        $prefix = $prefix_without_cardinality . $cardinality;
        $name = $prefix . SolrBackendInterface::SEARCH_API_SOLR_LANGUAGE_SEPARATOR . $this->field_type_language_code . '_';
        $dynamic_fields[] = $dynamic_field = [
          'name' => SearchApiSolrUtility::encodeSolrName($name) . '*',
          'type' => strpos($prefix, 'tu') === 0 && !empty($this->unstemmed_field_type) ? $this->unstemmed_field_type['name'] : $this->field_type['name'],
          'stored' => TRUE,
          'indexed' => TRUE,
          'multiValued' => 'm' === $cardinality,
          'termVectors' => TRUE,
          'omitNorms' => strpos($prefix, 'to') === 0,
        ];
        if (LanguageInterface::LANGCODE_NOT_SPECIFIED === $this->field_type_language_code) {
          // Add a language-unspecific default dynamic field as fallback for
          // languages we don't have a dedicated config for.
          $dynamic_field['name'] = SearchApiSolrUtility::encodeSolrName($prefix) . '_*';
          $dynamic_fields[] = $dynamic_field;
        }
      }
    }
    if ($spellcheck_field = $this
      ->getSpellcheckField()) {
      // Spellcheck fields need to be dynamic to have a language fallback, for
      // example de-at => de.
      $dynamic_fields[] = $spellcheck_field;
      if (LanguageInterface::LANGCODE_NOT_SPECIFIED === $this->field_type_language_code) {
        // Add a language-unspecific default dynamic spellcheck field as
        // fallback for languages we don't have a dedicated config for.
        $spellcheck_field['name'] = 'spellcheck_*';
        $dynamic_fields[] = $spellcheck_field;
      }
    }
    if ($collated_field = $this
      ->getCollatedField($solr_major_version)) {
      $dynamic_fields[] = $collated_field;
      if (LanguageInterface::LANGCODE_NOT_SPECIFIED === $this->field_type_language_code) {
        // Add a language-unspecific default dynamic sort field as fallback for
        // languages we don't have a dedicated config for.
        $collated_field['name'] = 'sort_*';
        $dynamic_fields[] = $collated_field;
      }
    }
    return $dynamic_fields;
  }
  /**
   * {@inheritdoc}
   */
  public function getStaticFields() {
    return [];
  }
  /**
   * Returns the spellcheck field definition.
   *
   * @return array|null
   *   The array containing the spellcheck field definition or null if is
   *   not configured for this field type.
   */
  protected function getSpellcheckField() {
    $spellcheck_field = NULL;
    if ($this->spellcheck_field_type) {
      $spellcheck_field = [
        // Don't use the language separator here! This field name is used
        // without it in the solrconfig.xml. Due to the fact that we leverage a
        // dynamic field here to enable the language fallback we need to append
        // '*', but not '_*' because we'll never append a field name!
        'name' => 'spellcheck_' . $this->field_type_language_code . '*',
        'type' => $this->spellcheck_field_type['name'],
        'stored' => TRUE,
        'indexed' => TRUE,
        'multiValued' => TRUE,
        'termVectors' => TRUE,
        'omitNorms' => TRUE,
      ];
    }
    return $spellcheck_field;
  }
  /**
   * Returns the collated field definition.
   *
   * @param int|null $solr_major_version
   *
   * @return array|null
   *   The array containing the collated field definition or null if is
   *   not configured for this field type.
   */
  protected function getCollatedField(?int $solr_major_version = NULL) {
    $collated_field = NULL;
    if ($this->collated_field_type) {
      $collated_field = [
        'name' => SearchApiSolrUtility::encodeSolrName('sort' . SolrBackendInterface::SEARCH_API_SOLR_LANGUAGE_SEPARATOR . $this->field_type_language_code) . '_*',
        'type' => $this->collated_field_type['name'],
        'stored' => FALSE,
        'indexed' => $solr_major_version === 4,
      ];
      if ($solr_major_version !== 4) {
        $collated_field['docValues'] = TRUE;
      }
    }
    return $collated_field;
  }
  /**
   * {@inheritdoc}
   */
  public function getCopyFields() {
    return [];
  }
  /**
   * {@inheritdoc}
   */
  public function getFieldTypeName() {
    return isset($this->field_type['name']) ? $this->field_type['name'] : '';
  }
  /**
   * {@inheritdoc}
   */
  public function requiresManagedSchema() {
    if (isset($this->field_type['analyzers'])) {
      foreach ($this->field_type['analyzers'] as $analyzer) {
        if (isset($analyzer['filters'])) {
          foreach ($analyzer['filters'] as $filter) {
            if (strpos($filter['class'], 'solr.Managed') === 0) {
              return TRUE;
            }
          }
        }
      }
    }
    return FALSE;
  }
}Members
| 
            Name | 
                  Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| 
            AbstractSolrEntity:: | 
                  protected | property | The ID. | |
| 
            AbstractSolrEntity:: | 
                  protected | property | The label. | |
| 
            AbstractSolrEntity:: | 
                  protected | property | Minimum Solr version required by this config. | |
| 
            AbstractSolrEntity:: | 
                  protected | property | ||
| 
            AbstractSolrEntity:: | 
                  protected | property | Solr Field Type specific additions to solrconfig.xml. | |
| 
            AbstractSolrEntity:: | 
                  protected | property | Array of various text files required by the Solr Field Type definition. | |
| 
            AbstractSolrEntity:: | 
                  public | function | ||
| 
            AbstractSolrEntity:: | 
                  protected | function | Formats a given array to an XML string. | |
| 
            AbstractSolrEntity:: | 
                  protected static | function | Builds a SimpleXMLElement recursively from an array of attributes. | |
| 
            AbstractSolrEntity:: | 
                  protected static | function | Get all available options. | |
| 
            AbstractSolrEntity:: | 
                  public | function | 
            Gets the minimum Solr version that is supported by this Solr Field Type. Overrides SolrConfigInterface:: | 
                  |
| 
            AbstractSolrEntity:: | 
                  public | function | 
            Gets the identifier that describes Solr Entity's purpose. Overrides SolrConfigInterface:: | 
                  2 | 
| 
            AbstractSolrEntity:: | 
                  public | function | 
            Gets the Solr Field Type specific additions to solrconfig.xml as XML. Overrides SolrConfigInterface:: | 
                  |
| 
            AbstractSolrEntity:: | 
                  public | function | ||
| 
            AbstractSolrEntity:: | 
                  public | function | 
            Indicates if a Config Entity is recommended to be used. Overrides SolrConfigInterface:: | 
                  |
| 
            AbstractSolrEntity:: | 
                  public | function | 
            Sets the minimum Solr version that is supported by this Solr Field Type. Overrides SolrConfigInterface:: | 
                  |
| 
            AbstractSolrEntity:: | 
                  public | function | 
            Sets the Solr Field Type specific additions to solrconfig.xml as array. Overrides SolrConfigInterface:: | 
                  |
| 
            AbstractSolrEntity:: | 
                  public | function | ||
| 
            AbstractSolrEntity:: | 
                  protected | function | 
            Gets an array of placeholders for this entity. Overrides EntityBase:: | 
                  |
| 
            CacheableDependencyTrait:: | 
                  protected | property | Cache contexts. | |
| 
            CacheableDependencyTrait:: | 
                  protected | property | Cache max-age. | |
| 
            CacheableDependencyTrait:: | 
                  protected | property | Cache tags. | |
| 
            CacheableDependencyTrait:: | 
                  protected | function | Sets cacheability; useful for value object constructors. | |
| 
            ConfigEntityBase:: | 
                  private | property | Whether the config is being deleted by the uninstall process. | |
| 
            ConfigEntityBase:: | 
                  protected | property | The language code of the entity's default language. | |
| 
            ConfigEntityBase:: | 
                  protected | property | The original ID of the configuration entity. | |
| 
            ConfigEntityBase:: | 
                  protected | property | The enabled/disabled status of the configuration entity. | 4 | 
| 
            ConfigEntityBase:: | 
                  protected | property | Third party entity settings. | |
| 
            ConfigEntityBase:: | 
                  protected | property | Trust supplied data and not use configuration schema on save. | |
| 
            ConfigEntityBase:: | 
                  protected | property | The UUID for this entity. | |
| 
            ConfigEntityBase:: | 
                  protected | property | Information maintained by Drupal core about configuration. | |
| 
            ConfigEntityBase:: | 
                  protected | function | Overrides \Drupal\Core\Entity\DependencyTrait:addDependency(). | |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Calculates dependencies and stores them in the dependency property. Overrides ConfigEntityInterface:: | 
                  13 | 
| 
            ConfigEntityBase:: | 
                  public | function | 
            Creates a duplicate of the entity. Overrides EntityBase:: | 
                  1 | 
| 
            ConfigEntityBase:: | 
                  public | function | 
            Disables the configuration entity. Overrides ConfigEntityInterface:: | 
                  1 | 
| 
            ConfigEntityBase:: | 
                  public | function | 
            Enables the configuration entity. Overrides ConfigEntityInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Returns the value of a property. Overrides ConfigEntityInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Returns the cache tags that should be used to invalidate caches. Overrides EntityBase:: | 
                  1 | 
| 
            ConfigEntityBase:: | 
                  public | function | 
            Gets the configuration dependency name. Overrides EntityBase:: | 
                  |
| 
            ConfigEntityBase:: | 
                  protected static | function | Gets the configuration manager. | |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Gets the configuration target identifier for the entity. Overrides EntityBase:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Gets the configuration dependencies. Overrides ConfigEntityInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Gets the original ID. Overrides EntityBase:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Gets the list of third parties that store information. Overrides ThirdPartySettingsInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Gets the value of a third-party setting. Overrides ThirdPartySettingsInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Gets all third-party settings of a given module. Overrides ThirdPartySettingsInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  protected | function | Gets the typed config manager. | |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Gets whether on not the data is trusted. Overrides ConfigEntityInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  protected static | function | 
            Override to never invalidate the individual entities' cache tags; the
config system already invalidates them. Overrides EntityBase:: | 
                  |
| 
            ConfigEntityBase:: | 
                  protected | function | 
            Override to never invalidate the entity's cache tag; the config system
already invalidates it. Overrides EntityBase:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Checks whether this entity is installable. Overrides ConfigEntityInterface:: | 
                  2 | 
| 
            ConfigEntityBase:: | 
                  public | function | 
            Overrides Entity::isNew(). Overrides EntityBase:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Returns whether this entity is being changed during the uninstall process. Overrides ConfigEntityInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Deprecated way of generating a link to the entity. See toLink(). Overrides EntityBase:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Informs the entity that entities it depends on will be deleted. Overrides ConfigEntityInterface:: | 
                  7 | 
| 
            ConfigEntityBase:: | 
                  public static | function | 
            Acts on entities before they are deleted and before hooks are invoked. Overrides EntityBase:: | 
                  8 | 
| 
            ConfigEntityBase:: | 
                  public | function | 
            Acts on an entity before the presave hook is invoked. Overrides EntityBase:: | 
                  13 | 
| 
            ConfigEntityBase:: | 
                  public | function | 
            Saves an entity permanently. Overrides EntityBase:: | 
                  1 | 
| 
            ConfigEntityBase:: | 
                  public | function | 
            Sets the value of a property. Overrides ConfigEntityInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Sets the original ID. Overrides EntityBase:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Sets the status of the configuration entity. Overrides ConfigEntityInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Sets the value of a third-party setting. Overrides ThirdPartySettingsInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | ||
| 
            ConfigEntityBase:: | 
                  public static | function | Helper callback for uasort() to sort configuration entities by weight and label. | 6 | 
| 
            ConfigEntityBase:: | 
                  public | function | 
            Returns whether the configuration entity is enabled. Overrides ConfigEntityInterface:: | 
                  4 | 
| 
            ConfigEntityBase:: | 
                  public | function | 
            Gets an array of all property values. Overrides EntityBase:: | 
                  2 | 
| 
            ConfigEntityBase:: | 
                  public | function | 
            Gets the URL object for the entity. Overrides EntityBase:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Sets that the data should be trusted. Overrides ConfigEntityInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Unsets a third-party setting. Overrides ThirdPartySettingsInterface:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Gets the public URL for this entity. Overrides EntityBase:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Gets the URL object for the entity. Overrides EntityBase:: | 
                  |
| 
            ConfigEntityBase:: | 
                  public | function | 
            Constructs an Entity object. Overrides EntityBase:: | 
                  10 | 
| 
            ConfigEntityBase:: | 
                  public | function | 
            Overrides EntityBase:: | 
                  4 | 
| 
            DependencySerializationTrait:: | 
                  protected | property | An array of entity type IDs keyed by the property name of their storages. | |
| 
            DependencySerializationTrait:: | 
                  protected | property | An array of service IDs keyed by property name used for serialization. | |
| 
            DependencySerializationTrait:: | 
                  public | function | Aliased as: traitSleep | 1 | 
| 
            DependencySerializationTrait:: | 
                  public | function | 2 | |
| 
            DependencyTrait:: | 
                  protected | property | The object's dependencies. | |
| 
            DependencyTrait:: | 
                  protected | function | Adds multiple dependencies. | |
| 
            DependencyTrait:: | 
                  protected | function | Adds a dependency. Aliased as: addDependencyTrait | |
| 
            EntityBase:: | 
                  protected | property | Boolean indicating whether the entity should be forced to be new. | |
| 
            EntityBase:: | 
                  protected | property | The entity type. | |
| 
            EntityBase:: | 
                  protected | property | A typed data object wrapping this entity. | |
| 
            EntityBase:: | 
                  public | function | 
            Checks data value access. Overrides AccessibleInterface:: | 
                  1 | 
| 
            EntityBase:: | 
                  public | function | 
            Gets the bundle of the entity. Overrides EntityInterface:: | 
                  1 | 
| 
            EntityBase:: | 
                  public static | function | 
            Constructs a new entity object, without permanently saving it. Overrides EntityInterface:: | 
                  |
| 
            EntityBase:: | 
                  public | function | 
            Deletes an entity permanently. Overrides EntityInterface:: | 
                  2 | 
| 
            EntityBase:: | 
                  public | function | 
            Enforces an entity to be new. Overrides EntityInterface:: | 
                  |
| 
            EntityBase:: | 
                  protected | function | Gets the entity manager. | |
| 
            EntityBase:: | 
                  protected | function | Gets the entity type bundle info service. | |
| 
            EntityBase:: | 
                  protected | function | Gets the entity type manager. | |
| 
            EntityBase:: | 
                  public | function | 
            The cache contexts associated with this object. Overrides CacheableDependencyTrait:: | 
                  |
| 
            EntityBase:: | 
                  public | function | 
            The maximum age for which this object may be cached. Overrides CacheableDependencyTrait:: | 
                  |
| 
            EntityBase:: | 
                  public | function | 
            The cache tags associated with this object. Overrides CacheableDependencyTrait:: | 
                  |
| 
            EntityBase:: | 
                  public | function | 
            Gets the key that is used to store configuration dependencies. Overrides EntityInterface:: | 
                  |
| 
            EntityBase:: | 
                  public | function | 
            Gets the entity type definition. Overrides EntityInterface:: | 
                  |
| 
            EntityBase:: | 
                  public | function | 
            Gets the ID of the type of the entity. Overrides EntityInterface:: | 
                  |
| 
            EntityBase:: | 
                  protected | function | The list cache tags to invalidate for this entity. | |
| 
            EntityBase:: | 
                  public | function | 
            Gets a typed data object for this entity object. Overrides EntityInterface:: | 
                  |
| 
            EntityBase:: | 
                  public | function | 
            Indicates if a link template exists for a given key. Overrides EntityInterface:: | 
                  |
| 
            EntityBase:: | 
                  public | function | 
            Gets the identifier. Overrides EntityInterface:: | 
                  11 | 
| 
            EntityBase:: | 
                  public | function | 
            Gets the label of the entity. Overrides EntityInterface:: | 
                  6 | 
| 
            EntityBase:: | 
                  public | function | 
            Gets the language of the entity. Overrides EntityInterface:: | 
                  1 | 
| 
            EntityBase:: | 
                  protected | function | Gets the language manager. | |
| 
            EntityBase:: | 
                  protected | function | Gets an array link templates. | 1 | 
| 
            EntityBase:: | 
                  public static | function | 
            Loads an entity. Overrides EntityInterface:: | 
                  |
| 
            EntityBase:: | 
                  public static | function | 
            Loads one or more entities. Overrides EntityInterface:: | 
                  |
| 
            EntityBase:: | 
                  public | function | 
            Acts on a created entity before hooks are invoked. Overrides EntityInterface:: | 
                  4 | 
| 
            EntityBase:: | 
                  public static | function | 
            Acts on deleted entities before the delete hook is invoked. Overrides EntityInterface:: | 
                  16 | 
| 
            EntityBase:: | 
                  public static | function | 
            Acts on loaded entities. Overrides EntityInterface:: | 
                  2 | 
| 
            EntityBase:: | 
                  public | function | 
            Acts on a saved entity before the insert or update hook is invoked. Overrides EntityInterface:: | 
                  14 | 
| 
            EntityBase:: | 
                  public static | function | 
            Changes the values of an entity before it is created. Overrides EntityInterface:: | 
                  5 | 
| 
            EntityBase:: | 
                  public | function | 
            Gets a list of entities referenced by this entity. Overrides EntityInterface:: | 
                  1 | 
| 
            EntityBase:: | 
                  public | function | 
            Generates the HTML for a link to this entity. Overrides EntityInterface:: | 
                  |
| 
            EntityBase:: | 
                  public | function | 
            Gets a list of URI relationships supported by this entity. Overrides EntityInterface:: | 
                  |
| 
            EntityBase:: | 
                  public | function | 
            Gets the entity UUID (Universally Unique Identifier). Overrides EntityInterface:: | 
                  1 | 
| 
            EntityBase:: | 
                  protected | function | Gets the UUID generator. | |
| 
            PluginDependencyTrait:: | 
                  protected | function | Calculates and adds dependencies of a specific plugin instance. | 1 | 
| 
            PluginDependencyTrait:: | 
                  protected | function | Calculates and returns dependencies of a specific plugin instance. | |
| 
            PluginDependencyTrait:: | 
                  protected | function | Wraps the module handler. | 1 | 
| 
            PluginDependencyTrait:: | 
                  protected | function | Wraps the theme handler. | 1 | 
| 
            RefinableCacheableDependencyTrait:: | 
                  public | function | 1 | |
| 
            RefinableCacheableDependencyTrait:: | 
                  public | function | ||
| 
            RefinableCacheableDependencyTrait:: | 
                  public | function | ||
| 
            RefinableCacheableDependencyTrait:: | 
                  public | function | ||
| 
            SolrFieldType:: | 
                  protected | property | Solr Collated Field Type definition. | |
| 
            SolrFieldType:: | 
                  protected | property | The custom code targeted by this Solr Field Type. | |
| 
            SolrFieldType:: | 
                  protected | property | The targeted content domains. | |
| 
            SolrFieldType:: | 
                  protected | property | Solr Field Type definition. | |
| 
            SolrFieldType:: | 
                  protected | property | The language targeted by this Solr Field Type. | |
| 
            SolrFieldType:: | 
                  protected | property | Solr Spellcheck Field Type definition. | |
| 
            SolrFieldType:: | 
                  protected | property | Solr Unstemmed Field Type definition. | |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Entity definition as XML fragment. Overrides SolrConfigInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public static | function | Get all available custom codes. | |
| 
            SolrFieldType:: | 
                  public static | function | Get all available domains form solr filed type configs. | |
| 
            SolrFieldType:: | 
                  protected | function | Returns the collated field definition. | |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Collated Field Type definition as nested associative array. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Collated Field Type definition as JSON. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Collated Field Type definition as XML fragment. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets a list of copy fields. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the custom code targeted by this Solr Field Type. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the domains the field type is suitable for. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets a list of dynamic Solr fields that will use this Solr Field Type. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Field Type definition as nested associative array. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Field Type definition as JSON. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the language targeted by this Solr Field Type. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Field Type name. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Entity name. Overrides AbstractSolrEntity:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Overrides AbstractSolrEntity:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Field Type specific additions to solrconfig.xml as array. Overrides AbstractSolrEntity:: | 
                  |
| 
            SolrFieldType:: | 
                  protected | function | Returns the spellcheck field definition. | |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Spellcheck Field Type definition as nested associative array. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Spellcheck Field Type definition as JSON. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Spellcheck Spellcheck Field Type definition as XML fragment. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets a list of static fields that will use this Solr Field Type. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  protected | function | Serializes a filed type as XML fragment as required by Solr. | |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Unstemmed Field Type definition as nested associative array. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Unstemmed Field Type definition as JSON. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Gets the Solr Unstemmed Field Type definition as XML fragment. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Indicates if the field type requires a managed Solr schema. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Sets the Solr Collated Field Type definition as nested associative array. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Sets the Solr Collated Field Type definition as JSON. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Sets the Solr Field Type definition as nested associative array. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Sets the Solr Field Type definition as JSON. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Sets the Solr Spellcheck Field Type definition as nested associative array. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Sets the Solr Spellcheck Field Type definition as JSON. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Sets the Solr Unstemmed Field Type definition as nested associative array. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SolrFieldType:: | 
                  public | function | 
            Sets the Solr Unstemmed Field Type definition as JSON. Overrides SolrFieldTypeInterface:: | 
                  |
| 
            SynchronizableEntityTrait:: | 
                  protected | property | Whether this entity is being created, updated or deleted through a synchronization process. | |
| 
            SynchronizableEntityTrait:: | 
                  public | function | ||
| 
            SynchronizableEntityTrait:: | 
                  public | function |