Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / vendor / consolidation / site-alias / src / AliasRecordInterface.php
diff --git a/vendor/consolidation/site-alias/src/AliasRecordInterface.php b/vendor/consolidation/site-alias/src/AliasRecordInterface.php
new file mode 100644 (file)
index 0000000..d56c082
--- /dev/null
@@ -0,0 +1,144 @@
+<?php
+namespace Consolidation\SiteAlias;
+
+use Consolidation\Config\Config;
+use Consolidation\Config\ConfigInterface;
+use Consolidation\Config\Util\ArrayUtil;
+
+/**
+ * An alias record is a configuration record containing well-known items.
+ *
+ * NOTE: AliasRecord is implemented as a Config subclass; however, it
+ * should not be used as a config. (A better implementation would be
+ * "hasa" config, but that is less convenient, as we want all of the
+ * same capabilities as a config object).
+ *
+ * If using an alias record as config is desired, use the 'exportConfig()'
+ * method.
+ *
+ * Example remote alias:
+ *
+ * ---
+ * host: www.myisp.org
+ * user: www-data
+ * root: /path/to/drupal
+ * uri: mysite.org
+ *
+ * Example local alias with global and command-specific options:
+ *
+ * ---
+ * root: /path/to/drupal
+ * uri: mysite.org
+ * options:
+ *   no-interaction: true
+ * command:
+ *   user:
+ *     login:
+ *       options:
+ *         name: superuser
+ */
+interface AliasRecordInterface extends ConfigInterface
+{
+    /**
+     * Get a value from the provided config option. Values stored in
+     * this alias record will override the configuration values, if present.
+     *
+     * If multiple alias records need to be chained together in a more
+     * complex priority arrangement, @see \Consolidation\Config\Config\ConfigOverlay.
+     *
+     * @param ConfigInterface $config The configuration object to pull fallback data from
+     * @param string $key The data item to fetch
+     * @param mixed $default The default value to return if there is no match
+     *
+     * @return string
+     */
+    public function getConfig(ConfigInterface $config, $key, $default = null);
+
+    /**
+     * Return the name of this alias record.
+     *
+     * @return string
+     */
+    public function name();
+
+    /**
+     * Remember the name of this record
+     *
+     * @param string $name
+     */
+    public function setName($name);
+
+    /**
+     * Determine whether this alias has a root.
+     */
+    public function hasRoot();
+
+    /**
+     * Get the root
+     */
+    public function root();
+
+    /**
+     * Get the uri
+     */
+    public function uri();
+
+    /**
+     * Record the uri
+     *
+     * @param string $uri
+     */
+    public function setUri($uri);
+
+    /**
+     * Return user@host, or just host if there is no user. Returns
+     * an empty string if there is no host.
+     *
+     * @return string
+     */
+    public function remoteHostWithUser();
+
+    /**
+     * Get the remote user
+     */
+    public function remoteUser();
+
+    /**
+     * Return true if this alias record has a remote user
+     */
+    public function hasRemoteUser();
+
+    /**
+     * Get the remote host
+     */
+    public function remoteHost();
+
+    /**
+     * Return true if this alias record has a remote host that is not
+     * the local host
+     */
+    public function isRemote();
+
+    /**
+     * Return true if this alias record is for the local system
+     */
+    public function isLocal();
+
+    /**
+     * Determine whether this alias does not represent any site. An
+     * alias record must either be remote or have a root.
+     */
+    public function isNone();
+
+    /**
+     * Return the 'root' element of this alias if this alias record
+     * is local.
+     */
+    public function localRoot();
+
+    /**
+     * Export the configuration values in this alias record, and reconfigure
+     * them so that the layout matches that of the global configuration object.
+     */
+    public function exportConfig();
+}