Mercurial > hg > cmmr2012-drupal-site
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 = []); + +}