1: <?php
2: /**
3: * This code is licensed under AGPLv3 license or Afterlogic Software License
4: * if commercial version of the product was purchased.
5: * For full statements of the licenses see LICENSE-AFTERLOGIC and LICENSE-AGPL3 files.
6: */
7:
8: namespace Aurora\System\Enums;
9:
10: /**
11: * @license https://www.gnu.org/licenses/agpl-3.0.html AGPL-3.0
12: * @license https://afterlogic.com/products/common-licensing Afterlogic Software License
13: * @copyright Copyright (c) 2019, Afterlogic Corp.
14: */
15: abstract class AbstractEnumeration
16: {
17: /**
18: * @var array
19: */
20: protected $aConsts = array();
21:
22: /**
23: *
24: * @return array
25: */
26: public function getMap()
27: {
28: return $this->aConsts;
29: }
30:
31: /**
32: * @return bool
33: */
34: public static function validateValue($value)
35: {
36: /* @phpstan-ignore-next-line */
37: return in_array($value, array_values((new static())->getMap()));
38: }
39: }
40: