summaryrefslogtreecommitdiff
path: root/server/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php
diff options
context:
space:
mode:
authorLoic GUEGAN <loic@Manzerbredes>2016-01-23 14:37:24 +0100
committerLoic GUEGAN <loic@Manzerbredes>2016-01-23 14:37:24 +0100
commit189f7a9ef4c6265dbac232e5c5685aebbbfc7c53 (patch)
treed397facc1e45cee4713ea95b0eaa4ffa9cbf0921 /server/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php
parent2984adf171c49940e683fa997e8cdc60fcf1d60b (diff)
parenta44cc1d2e3c0f147e91a5c052ac7fd879e34e706 (diff)
Merge branch 'develop' of github.com:manzerbredes/istic-openstack into develop
Diffstat (limited to 'server/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php')
-rw-r--r--server/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php54
1 files changed, 54 insertions, 0 deletions
diff --git a/server/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php b/server/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php
new file mode 100644
index 0000000..7652c42
--- /dev/null
+++ b/server/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php
@@ -0,0 +1,54 @@
+<?php
+
+namespace JsonSchema\Uri\Retrievers;
+
+use JsonSchema\Validator;
+
+/**
+ * URI retrieved based on a predefined array of schemas
+ *
+ * @example
+ *
+ * $retriever = new PredefinedArray(array(
+ * 'http://acme.com/schemas/person#' => '{ ... }',
+ * 'http://acme.com/schemas/address#' => '{ ... }',
+ * ))
+ *
+ * $schema = $retriever->retrieve('http://acme.com/schemas/person#');
+ */
+class PredefinedArray extends AbstractRetriever
+{
+ /**
+ * Contains schemas as URI => JSON
+ * @var array
+ */
+ private $schemas;
+
+ /**
+ * Constructor
+ *
+ * @param array $schemas
+ * @param string $contentType
+ */
+ public function __construct(array $schemas, $contentType = Validator::SCHEMA_MEDIA_TYPE)
+ {
+ $this->schemas = $schemas;
+ $this->contentType = $contentType;
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see \JsonSchema\Uri\Retrievers\UriRetrieverInterface::retrieve()
+ */
+ public function retrieve($uri)
+ {
+ if (!array_key_exists($uri, $this->schemas)) {
+ throw new \JsonSchema\Exception\ResourceNotFoundException(sprintf(
+ 'The JSON schema "%s" was not found.',
+ $uri
+ ));
+ }
+
+ return $this->schemas[$uri];
+ }
+}