diff core/modules/rdf/src/RdfMappingInterface.php @ 0:c75dbcec494b

Initial commit from drush-created site
author Chris Cannam
date Thu, 05 Jul 2018 14:24:15 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/modules/rdf/src/RdfMappingInterface.php	Thu Jul 05 14:24:15 2018 +0000
@@ -0,0 +1,107 @@
+<?php
+
+namespace Drupal\rdf;
+
+use Drupal\Core\Config\Entity\ConfigEntityInterface;
+
+/**
+ * Provides an interface defining an RDF mapping entity.
+ */
+interface RdfMappingInterface extends ConfigEntityInterface {
+
+  /**
+   * Gets the mapping for the bundle-level data.
+   *
+   * The prepared bundle mapping should be used when outputting data in RDF
+   * serializations such as RDFa. In the prepared mapping, the mapping
+   * configuration's CURIE arrays are processed into CURIE strings suitable for
+   * output.
+   *
+   * @return array
+   *   The bundle mapping.
+   */
+  public function getPreparedBundleMapping();
+
+  /**
+   * Gets the mapping config for the bundle-level data.
+   *
+   * This function returns the bundle mapping as stored in config, which may
+   * contain CURIE arrays. If the mapping is needed for output in a
+   * serialization format, such as RDFa, then getPreparedBundleMapping() should
+   * be used instead.
+   *
+   * @return array
+   *   The bundle mapping, or an empty array if there is no mapping.
+   */
+  public function getBundleMapping();
+
+  /**
+   * Sets the mapping config for the bundle-level data.
+   *
+   * This only sets bundle-level mappings, such as the RDF type. Mappings for
+   * a bundle's fields should be handled with setFieldMapping.
+   *
+   * Example usage:
+   * -Map the 'article' bundle to 'sioc:Post'.
+   * @code
+   * rdf_get_mapping('node', 'article')
+   *   ->setBundleMapping(array(
+   *     'types' => array('sioc:Post'),
+   *   ))
+   *   ->save();
+   * @endcode
+   *
+   * @param array $mapping
+   *   The bundle mapping.
+   *
+   * @return \Drupal\rdf\Entity\RdfMapping
+   *   The RdfMapping object.
+   */
+  public function setBundleMapping(array $mapping);
+
+  /**
+   * Gets the prepared mapping for a field.
+   *
+   * The prepared field mapping should be used when outputting data in RDF
+   * serializations such as RDFa. In the prepared mapping, the mapping
+   * configuration's CURIE arrays are processed into CURIE strings suitable for
+   * output.
+   *
+   * @param string $field_name
+   *   The name of the field.
+   *
+   * @return array
+   *   The prepared field mapping, or an empty array if there is no mapping.
+   */
+  public function getPreparedFieldMapping($field_name);
+
+  /**
+   * Gets the mapping config for a field.
+   *
+   * This function returns the field mapping as stored in config, which may
+   * contain CURIE arrays. If the mapping is needed for output in a
+   * serialization format, such as RDFa, then getPreparedFieldMapping() should
+   * be used instead.
+   *
+   * @param string $field_name
+   *   The name of the field.
+   *
+   * @return array
+   *   The field mapping config array, or an empty array if there is no mapping.
+   */
+  public function getFieldMapping($field_name);
+
+  /**
+   * Sets the mapping config for a field.
+   *
+   * @param string $field_name
+   *   The name of the field.
+   * @param array $mapping
+   *   The field mapping.
+   *
+   * @return \Drupal\rdf\Entity\RdfMapping
+   *   The RdfMapping object.
+   */
+  public function setFieldMapping($field_name, array $mapping = []);
+
+}