summaryrefslogtreecommitdiff
path: root/server/vendor/php-opencloud/common/src/Common/Resource/HasMetadata.php
diff options
context:
space:
mode:
authorEoleDev <root@serverpc.home>2016-03-09 16:17:33 +0100
committerEoleDev <root@serverpc.home>2016-03-09 16:17:33 +0100
commit2b8decb81faeb7928bcbfda84c6f33a003f707fd (patch)
tree0e491d7ae2bf91347b1cf50d2c475625d8f659b4 /server/vendor/php-opencloud/common/src/Common/Resource/HasMetadata.php
parentb7ebe1272c1127df290535af2430622b28160bb0 (diff)
parent03ef74d0cfe675a6e18a91f039182ca1b248d8f5 (diff)
Maj Library
Diffstat (limited to 'server/vendor/php-opencloud/common/src/Common/Resource/HasMetadata.php')
-rw-r--r--server/vendor/php-opencloud/common/src/Common/Resource/HasMetadata.php67
1 files changed, 67 insertions, 0 deletions
diff --git a/server/vendor/php-opencloud/common/src/Common/Resource/HasMetadata.php b/server/vendor/php-opencloud/common/src/Common/Resource/HasMetadata.php
new file mode 100644
index 0000000..53b51fc
--- /dev/null
+++ b/server/vendor/php-opencloud/common/src/Common/Resource/HasMetadata.php
@@ -0,0 +1,67 @@
+<?php
+
+namespace OpenCloud\Common\Resource;
+
+use Psr\Http\Message\ResponseInterface;
+
+interface HasMetadata
+{
+ /**
+ * Retrieves the metadata for the resource in the form of an associative array or hash. Each key represents the
+ * metadata item's name, and each value represents the metadata item's remote value.
+ *
+ * @return array
+ */
+ public function getMetadata();
+
+ /**
+ * Merges a set of new values with those which already exist (on the remote API) for a resource. For example, if
+ * the resource has this metadata already set:
+ *
+ * Foo: val1
+ * Bar: val2
+ *
+ * and mergeMetadata(['Foo' => 'val3', 'Baz' => 'val4']); is called, then the resource will have the following
+ * metadata:
+ *
+ * Foo: val3
+ * Bar: val2
+ * Baz: val4
+ *
+ * You will notice that any metadata items which are not specified in the call are preserved.
+ *
+ * @param array $metadata The new metadata items
+ *
+ * @return mixed
+ */
+ public function mergeMetadata(array $metadata);
+
+ /**
+ * Replaces all of the existing metadata items for a resource with a new set of values. Any metadata items which
+ * are not provided in the call are removed from the resource. For example, if the resource has this metadata
+ * already set:
+ *
+ * Foo: val1
+ * Bar: val2
+ *
+ * and resetMetadata(['Foo' => 'val3', 'Baz' => 'val4']); is called, then the resource will have the following
+ * metadata:
+ *
+ * Foo: val3
+ * Baz: val4
+ *
+ * @param array $metadata The new metadata items
+ *
+ * @return mixed
+ */
+ public function resetMetadata(array $metadata);
+
+ /**
+ * Extracts metadata from a response object and returns it in the form of an associative array.
+ *
+ * @param ResponseInterface $response
+ *
+ * @return array
+ */
+ public function parseMetadata(ResponseInterface $response);
+}