* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class NumberType extends ScalarType { /** @var integer|float */ protected $minimum; /** @var integer|float */ protected $maximum; /** @var boolean */ protected $exclusiveMinimum; /** @var boolean */ protected $exclusiveMaximum; /** @var integer|float */ protected $multipleOf; /** * @return int|float */ public function getMinimum() { return $this->minimum; } /** * @param int|float $minimum * @return self * @throws InvalidSchemaException */ public function setMinimum($minimum): self { if ($minimum !== null && !is_int($minimum) && !is_float($minimum)) { throw new InvalidSchemaException('Minimum must be either an integer or float'); } $this->minimum = $minimum; return $this; } /** * @return int|float */ public function getMaximum() { return $this->maximum; } /** * @param int|float $maximum * @return self * @throws InvalidSchemaException */ public function setMaximum($maximum): self { if ($maximum !== null && !is_int($maximum) && !is_float($maximum)) { throw new InvalidSchemaException('Maximum must be either an integer or float'); } $this->maximum = $maximum; return $this; } /** * @return boolean */ public function getExclusiveMinimum(): ?bool { return $this->exclusiveMinimum; } /** * @param boolean $exclusiveMinimum * @return self */ public function setExclusiveMinimum(bool $exclusiveMinimum): self { $this->exclusiveMinimum = $exclusiveMinimum; return $this; } /** * @return boolean */ public function getExclusiveMaximum(): ?bool { return $this->exclusiveMaximum; } /** * @param boolean $exclusiveMaximum * @return self */ public function setExclusiveMaximum(bool $exclusiveMaximum): self { $this->exclusiveMaximum = $exclusiveMaximum; return $this; } /** * @return int|float */ public function getMultipleOf() { return $this->multipleOf; } /** * @param int|float $multipleOf * @return self */ public function setMultipleOf($multipleOf): self { $this->multipleOf = $multipleOf; return $this; } public function toArray(): array { return array_merge(parent::toArray(), array_filter([ 'type' => 'number', 'minimum' => $this->minimum, 'maximum' => $this->maximum, 'exclusiveMinimum' => $this->exclusiveMinimum, 'exclusiveMaximum' => $this->exclusiveMaximum, 'multipleOf' => $this->multipleOf, ], function($value){ return $value !== null; })); } } __halt_compiler();----SIGNATURE:----ZBbKr9V+rNTXkGsZBiq6ZcmjFoWQqspCckdlbDl8jGonLsKwpjaJC0/8Vsu9o2vHQ8C3dpc5Y4Qvx/f4lCj7Zxv7QB+j2xGHbPI2U6hgHqG3rGfjjaOUpmwkJQAzq0RjfEbDLbelFOulZcepP7a1AxxgPW4RcyZkvjsQcgXppSNFB5lfsVnCoJhwBGV5c2reYwmjMUxNh0XX/icens3Bos4hAdDgEQdFxf/rklXQAynL39HSNIjDc2Wy93hep7ryntSWRwlm0RCZl15tXo8Zhdf/rvAWJIqJoqJ1SLDF+qiaMe+e+aptEfQ2EAP5ov7wr5gk6poOrXH8IAUDOpgDv+liFX5JCnKtuekSt/qZ43UN0uNt/RjJK+Ng/hxjLLvyCmM30BlqzSDXguj42mcrVZQlPpxsoxw9sJb6taLfqXGw7uqIQHlSAja+we7OktxTyzoKwx+E4uXxEwr3SxA7RIvhIX4TnudcgnFFM72riK52NgLP1lf+gLnrGRaWubtAWP2rpiMCx8BgUg3ys8KLua0jU9YLl9YhFmNs5CW6d8lB1pn8XTfxSjMxI8JDdXmIzGEbfE8Ds03seo36RC0ILU/TIB9tXkGHjrcqIsfWRCnNXVqGzbhtl5lSTeEvmymIc1SOxWTXHEmGoGMd82h7ZkdM0Kvt7VDHCMFm8NSuZew=----ATTACHMENT:----MjM3NzkyODY5MDI5NTg2NSA4Nzk5MTk5NjQ3NTAzMzkzIDYyODMwMTA3NjA0ODYwMDM=