ex
Fork of mbed-os-example-mbed5-blinky by
Diff: dumi_doc-master/schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Factory.php
- Revision:
- 49:b9eb462f36a9
- Parent:
- 48:c7ee67edcf1d
- Child:
- 50:9ecaa144d1f3
--- a/dumi_doc-master/schema/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Factory.php Tue Jul 18 16:56:22 2017 +0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-<?php
-
-/*
- * This file is part of the JsonSchema package.
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace JsonSchema\Constraints;
-
-use JsonSchema\Exception\InvalidArgumentException;
-use JsonSchema\SchemaStorage;
-use JsonSchema\Uri\UriRetriever;
-use JsonSchema\UriRetrieverInterface;
-
-/**
- * Factory for centralize constraint initialization.
- */
-class Factory
-{
- /**
- * @var SchemaStorage
- */
- protected $schemaStorage;
-
- /**
- * @var UriRetriever $uriRetriever
- */
- protected $uriRetriever;
-
- /**
- * @var int
- */
- private $checkMode;
-
- /**
- * @var TypeCheck\TypeCheckInterface[]
- */
- private $typeCheck = array();
-
- /**
- * @var array $constraintMap
- */
- protected $constraintMap = array(
- 'array' => 'JsonSchema\Constraints\CollectionConstraint',
- 'collection' => 'JsonSchema\Constraints\CollectionConstraint',
- 'object' => 'JsonSchema\Constraints\ObjectConstraint',
- 'type' => 'JsonSchema\Constraints\TypeConstraint',
- 'undefined' => 'JsonSchema\Constraints\UndefinedConstraint',
- 'string' => 'JsonSchema\Constraints\StringConstraint',
- 'number' => 'JsonSchema\Constraints\NumberConstraint',
- 'enum' => 'JsonSchema\Constraints\EnumConstraint',
- 'format' => 'JsonSchema\Constraints\FormatConstraint',
- 'schema' => 'JsonSchema\Constraints\SchemaConstraint',
- 'validator' => 'JsonSchema\Validator',
- 'coercer' => 'JsonSchema\Coerce'
- );
-
- /**
- * @var array<ConstraintInterface>
- */
- private $instanceCache = array();
-
- /**
- * @param SchemaStorage $schemaStorage
- * @param UriRetrieverInterface $uriRetriever
- * @param int $checkMode
- */
- public function __construct(
- SchemaStorage $schemaStorage = null,
- UriRetrieverInterface $uriRetriever = null,
- $checkMode = Constraint::CHECK_MODE_NORMAL
- ) {
- $this->uriRetriever = $uriRetriever ?: new UriRetriever;
- $this->schemaStorage = $schemaStorage ?: new SchemaStorage($this->uriRetriever);
- $this->checkMode = $checkMode;
- }
-
- /**
- * @return UriRetrieverInterface
- */
- public function getUriRetriever()
- {
- return $this->uriRetriever;
- }
-
- public function getSchemaStorage()
- {
- return $this->schemaStorage;
- }
-
- public function getTypeCheck()
- {
- if (!isset($this->typeCheck[$this->checkMode])) {
- $this->typeCheck[$this->checkMode] = ($this->checkMode & Constraint::CHECK_MODE_TYPE_CAST)
- ? new TypeCheck\LooseTypeCheck
- : new TypeCheck\StrictTypeCheck;
- }
-
- return $this->typeCheck[$this->checkMode];
- }
-
- /**
- * @param string $name
- * @param string $class
- * @return Factory
- */
- public function setConstraintClass($name, $class)
- {
- // Ensure class exists
- if (!class_exists($class)) {
- throw new InvalidArgumentException('Unknown constraint ' . $name);
- }
- // Ensure class is appropriate
- if (!in_array('JsonSchema\Constraints\ConstraintInterface', class_implements($class))) {
- throw new InvalidArgumentException('Invalid class ' . $name);
- }
- $this->constraintMap[$name] = $class;
- return $this;
- }
-
- /**
- * Create a constraint instance for the given constraint name.
- *
- * @param string $constraintName
- * @return ConstraintInterface|ObjectConstraint
- * @throws InvalidArgumentException if is not possible create the constraint instance.
- */
- public function createInstanceFor($constraintName)
- {
- if (!isset($this->constraintMap[$constraintName])) {
- throw new InvalidArgumentException('Unknown constraint ' . $constraintName);
- }
-
- if (!isset($this->instanceCache[$constraintName])) {
- $this->instanceCache[$constraintName] = new $this->constraintMap[$constraintName]($this);
- }
-
- return clone $this->instanceCache[$constraintName];
- }
-
- /**
- * @return int
- */
- public function getCheckMode()
- {
- return $this->checkMode;
- }
-}
