Strategy.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. namespace Gedmo\Tree;
  3. interface Strategy
  4. {
  5. /**
  6. * NestedSet strategy
  7. */
  8. const NESTED = 'nested';
  9. /**
  10. * Closure strategy
  11. */
  12. const CLOSURE = 'closure';
  13. /**
  14. * Get the name of strategy
  15. *
  16. * @return string
  17. */
  18. function getName();
  19. /**
  20. * Initialize strategy with tree listener
  21. *
  22. * @param TreeListener $listener
  23. * @return void
  24. */
  25. function __construct(TreeListener $listener);
  26. /**
  27. * Operations after metadata is loaded
  28. *
  29. * @param object $om
  30. * @param object $meta
  31. */
  32. function processMetadataLoad($om, $meta);
  33. /**
  34. * Operations on tree node insertion
  35. *
  36. * @param object $om - object manager
  37. * @param object $object - node
  38. * @return void
  39. */
  40. function processScheduledInsertion($om, $object);
  41. /**
  42. * Operations on tree node updates
  43. *
  44. * @param object $om - object manager
  45. * @param object $object - node
  46. * @return void
  47. */
  48. function processScheduledUpdate($om, $object);
  49. /**
  50. * Operations on tree node delete
  51. *
  52. * @param object $om - object manager
  53. * @param object $object - node
  54. * @return void
  55. */
  56. function processScheduledDelete($om, $object);
  57. /**
  58. * Operations on tree node removal
  59. *
  60. * @param object $om - object manager
  61. * @param object $object - node
  62. * @return void
  63. */
  64. function processPreRemove($om, $object);
  65. /**
  66. * Operations on tree node persist
  67. *
  68. * @param object $om - object manager
  69. * @param object $object - node
  70. * @return void
  71. */
  72. function processPrePersist($om, $object);
  73. /**
  74. * Operations on tree node insertions
  75. *
  76. * @param object $om - object manager
  77. * @param object $object - node
  78. * @return void
  79. */
  80. function processPostPersist($om, $object);
  81. /**
  82. * Operations on the end of flush process
  83. *
  84. * @param object $om - object manager
  85. * @return void
  86. */
  87. function onFlushEnd($om);
  88. }