ObjectWithVirtualXmlProperties.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace JMS\Serializer\Tests\Fixtures;
  3. use JMS\Serializer\Annotation\Groups;
  4. use JMS\Serializer\Annotation\SerializedName;
  5. use JMS\Serializer\Annotation\Since;
  6. use JMS\Serializer\Annotation\Until;
  7. use JMS\Serializer\Annotation\VirtualProperty;
  8. use JMS\Serializer\Annotation\XmlAttribute;
  9. use JMS\Serializer\Annotation\XmlList;
  10. use JMS\Serializer\Annotation\XmlMap;
  11. use JMS\Serializer\Annotation\XmlValue;
  12. class ObjectWithVirtualXmlProperties
  13. {
  14. /**
  15. *
  16. * @VirtualProperty
  17. * @SerializedName("foo")
  18. * @Groups({"attributes"})
  19. * @XmlAttribute
  20. */
  21. public function getVirualXmlAttributeValue()
  22. {
  23. return 'bar';
  24. }
  25. /**
  26. *
  27. * @VirtualProperty
  28. * @SerializedName("xml-value")
  29. * @Groups({"values"})
  30. * @XmlValue
  31. */
  32. public function getVirualXmlValue()
  33. {
  34. return 'xml-value';
  35. }
  36. /**
  37. *
  38. * @VirtualProperty
  39. * @SerializedName("list")
  40. * @Groups({"list"})
  41. * @XmlList(inline = true, entry = "val")
  42. */
  43. public function getVirualXmlList()
  44. {
  45. return array('One', 'Two');
  46. }
  47. /**
  48. *
  49. * @VirtualProperty
  50. * @SerializedName("map")
  51. * @Groups({"map"})
  52. * @XmlMap(keyAttribute = "key")
  53. */
  54. public function getVirualXmlMap()
  55. {
  56. return array(
  57. 'key-one' => 'One',
  58. 'key-two' => 'Two'
  59. );
  60. }
  61. /**
  62. *
  63. * @VirtualProperty
  64. * @SerializedName("low")
  65. * @Groups({"versions"})
  66. * @Until("8")
  67. */
  68. public function getVirualLowValue()
  69. {
  70. return 1;
  71. }
  72. /**
  73. * @VirtualProperty
  74. * @SerializedName("hight")
  75. * @Groups({"versions"})
  76. * @Since("8")
  77. */
  78. public function getVirualHighValue()
  79. {
  80. return 8;
  81. }
  82. }