Version 1
[yaffs-website] / web / modules / contrib / pathauto / src / PathautoGeneratorInterface.php
diff --git a/web/modules/contrib/pathauto/src/PathautoGeneratorInterface.php b/web/modules/contrib/pathauto/src/PathautoGeneratorInterface.php
new file mode 100644 (file)
index 0000000..5880adb
--- /dev/null
@@ -0,0 +1,89 @@
+<?php
+
+namespace Drupal\pathauto;
+
+use Drupal\Core\Entity\EntityInterface;
+
+/**
+ * Provides and interface for PathautoGenerator.
+ */
+interface PathautoGeneratorInterface {
+
+  /**
+   * "Do nothing. Leave the old alias intact."
+   */
+  const UPDATE_ACTION_NO_NEW = 0;
+
+  /**
+   * "Create a new alias. Leave the existing alias functioning."
+   */
+  const UPDATE_ACTION_LEAVE = 1;
+
+  /**
+   * "Create a new alias. Delete the old alias."
+   */
+  const UPDATE_ACTION_DELETE = 2;
+
+  /**
+   * Remove the punctuation from the alias.
+   */
+  const PUNCTUATION_REMOVE = 0;
+
+  /**
+   * Replace the punctuation with the separator in the alias.
+   */
+  const PUNCTUATION_REPLACE = 1;
+
+  /**
+   * Leave the punctuation as it is in the alias.
+   */
+  const PUNCTUATION_DO_NOTHING = 2;
+
+  /**
+   * Resets internal caches.
+   */
+  public function resetCaches();
+
+  /**
+   * Load an alias pattern entity by entity, bundle, and language.
+   *
+   * @param \Drupal\Core\Entity\EntityInterface $entity
+   *   An entity.
+   * @return \Drupal\pathauto\PathautoPatternInterface|null
+   */
+  public function getPatternByEntity(EntityInterface $entity);
+
+  /**
+   * Apply patterns to create an alias.
+   *
+   * @param \Drupal\Core\Entity\EntityInterface $entity
+   *   The entity.
+   * @param string $op
+   *   Operation being performed on the content being aliased
+   *   ('insert', 'update', 'return', or 'bulkupdate').
+   *
+   * @return array|string
+   *   The alias that was created.
+   *
+   * @see _pathauto_set_alias()
+   */
+  public function createEntityAlias(EntityInterface $entity, $op);
+
+  /**
+   * Creates or updates an alias for the given entity.
+   *
+   * @param EntityInterface $entity
+   *   Entity for which to update the alias.
+   * @param string $op
+   *   The operation performed (insert, update)
+   * @param array $options
+   *   - force: will force updating the path
+   *   - language: the language for which to create the alias
+   *
+   * @return array|null
+   *   - An array with alias data in case the alias has been created or updated.
+   *   - NULL if no operation performed.
+   */
+  public function updateEntityAlias(EntityInterface $entity, $op, array $options = array());
+
+}