AdminInterface.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <?php
  2. /*
  3. * This file is part of the Sonata package.
  4. *
  5. * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Sonata\AdminBundle\Admin;
  11. use Sonata\AdminBundle\Admin\Pool;
  12. use Sonata\AdminBundle\Builder\FormContractorInterface;
  13. use Sonata\AdminBundle\Builder\ListBuilderInterface;
  14. use Sonata\AdminBundle\Builder\DatagridBuilderInterface;
  15. use Symfony\Component\Routing\RouterInterface;
  16. use Symfony\Component\Translation\TranslatorInterface;
  17. use Symfony\Component\HttpFoundation\Request;
  18. interface AdminInterface
  19. {
  20. /**
  21. * @abstract
  22. * @param \Sonata\AdminBundle\Builder\FormContractorInterface $formContractor
  23. * @return void
  24. */
  25. function setFormContractor(FormContractorInterface $formContractor);
  26. /**
  27. * @abstract
  28. * @param ListBuilderInterface $listBuilder
  29. * @return void
  30. */
  31. function setListBuilder(ListBuilderInterface $listBuilder);
  32. /**
  33. * @abstract
  34. * @param \Sonata\AdminBundle\Builder\DatagridBuilderInterface $datagridBuilder
  35. * @return void
  36. */
  37. function setDatagridBuilder(DatagridBuilderInterface $datagridBuilder);
  38. /**
  39. * @abstract
  40. * @param \Symfony\Component\Translation\TranslatorInterface $translator
  41. * @return void
  42. */
  43. function setTranslator(TranslatorInterface $translator);
  44. /**
  45. * @abstract
  46. * @param \Symfony\Component\HttpFoundation\Request $request
  47. * @return void
  48. */
  49. function setRequest(Request $request);
  50. /**
  51. * @abstract
  52. * @param Pool $pool
  53. * @return void
  54. */
  55. function setConfigurationPool(Pool $pool);
  56. /**
  57. * @abstract
  58. * @param \Symfony\Component\Routing\RouterInterface $router
  59. * @return void
  60. */
  61. function setRouter(RouterInterface $router);
  62. /**
  63. * Returns the class name managed
  64. *
  65. * @abstract
  66. * @return void
  67. */
  68. function getClass();
  69. /**
  70. * @abstract
  71. * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription
  72. * @return void
  73. */
  74. function attachAdminClass(FieldDescriptionInterface $fieldDescription);
  75. /**
  76. * @abstract
  77. * @return \Sonata\AdminBundle\Datagrid\DatagridInterface
  78. */
  79. function getDatagrid();
  80. /**
  81. * @abstract
  82. * @param string $name
  83. * @param array $parameters
  84. * @return void
  85. */
  86. function generateUrl($name, array $parameters = array());
  87. /**
  88. * @abstract
  89. * @return \Sonata\AdminBundle\ModelManagerInterface;
  90. */
  91. function getModelManager();
  92. /**
  93. *
  94. * @return \Symfony\Component\Form\FormBuilder the form builder
  95. */
  96. function getFormBuilder();
  97. /**
  98. * @abstract
  99. * @param string $name
  100. * @return \Sonata\AdminBundle\Admin\FieldDescriptionInterface
  101. */
  102. function getFormFieldDescription($name);
  103. /**
  104. * @abstract
  105. * @return \Symfony\Component\HttpFoundation\Request
  106. */
  107. function getRequest();
  108. /**
  109. *
  110. * @return string
  111. */
  112. function getCode();
  113. /**
  114. * @abstract
  115. * @return array
  116. */
  117. function getSecurityInformation();
  118. }