You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

LuBoolDbo.php 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: robin
  5. * Date: 5/29/16
  6. * Time: 2:41 PM
  7. */
  8. namespace Luticate\Utils\Dbo;
  9. use Luticate\Utils\LuBusiness;
  10. use Luticate\Utils\LuDbo;
  11. class LuBoolDbo extends LuDbo
  12. {
  13. /**
  14. * @var $_value bool
  15. */
  16. private $_value;
  17. /**
  18. * @return bool
  19. */
  20. public function getBool()
  21. {
  22. return $this->_value;
  23. }
  24. /**
  25. * @param bool $value
  26. */
  27. public function setBool($value)
  28. {
  29. $this->_value = $value;
  30. }
  31. function jsonSerialize()
  32. {
  33. return $this->_value;
  34. }
  35. public static function jsonDeserialize($json)
  36. {
  37. $bool = null;
  38. if (is_bool($json)) {
  39. $bool = $json;
  40. }
  41. if (is_string($json)) {
  42. if (strtolower($json) === "true" || strtolower($json) === "false") {
  43. $bool = (strtolower($json) === "true");
  44. }
  45. }
  46. if (is_null($bool)) {
  47. throw new LuDboDeserializeException("Invalid bool value");
  48. }
  49. $val = new self();
  50. $val->setBool($bool);
  51. return $val;
  52. }
  53. public static function generateSample()
  54. {
  55. return "sample string";
  56. }
  57. }