Strategy.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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. * Materialized Path strategy
  15. */
  16. const MATERIALIZED_PATH = 'materializedPath';
  17. /**
  18. * Get the name of strategy
  19. *
  20. * @return string
  21. */
  22. function getName();
  23. /**
  24. * Initialize strategy with tree listener
  25. *
  26. * @param TreeListener $listener
  27. * @return void
  28. */
  29. function __construct(TreeListener $listener);
  30. /**
  31. * Operations after metadata is loaded
  32. *
  33. * @param object $om
  34. * @param object $meta
  35. */
  36. function processMetadataLoad($om, $meta);
  37. /**
  38. * Operations on tree node insertion
  39. *
  40. * @param object $om - object manager
  41. * @param object $object - node
  42. * @param object $ea - event adapter
  43. * @return void
  44. */
  45. function processScheduledInsertion($om, $object, $ea);
  46. /**
  47. * Operations on tree node updates
  48. *
  49. * @param object $om - object manager
  50. * @param object $object - node
  51. * @param object $ea - event adapter
  52. * @return void
  53. */
  54. function processScheduledUpdate($om, $object, $ea);
  55. /**
  56. * Operations on tree node delete
  57. *
  58. * @param object $om - object manager
  59. * @param object $object - node
  60. * @return void
  61. */
  62. function processScheduledDelete($om, $object);
  63. /**
  64. * Operations on tree node removal
  65. *
  66. * @param object $om - object manager
  67. * @param object $object - node
  68. * @return void
  69. */
  70. function processPreRemove($om, $object);
  71. /**
  72. * Operations on tree node persist
  73. *
  74. * @param object $om - object manager
  75. * @param object $object - node
  76. * @return void
  77. */
  78. function processPrePersist($om, $object);
  79. /**
  80. * Operations on tree node insertions
  81. *
  82. * @param object $om - object manager
  83. * @param object $object - node
  84. * @param object $ea - event adapter
  85. * @return void
  86. */
  87. function processPostPersist($om, $object, $ea);
  88. /**
  89. * Operations on the end of flush process
  90. *
  91. * @param object $om - object manager
  92. * @return void
  93. */
  94. function onFlushEnd($om);
  95. }