AdminInterface.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  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\Admin\FieldDescriptionInterface;
  13. use Sonata\AdminBundle\Builder\FormContractorInterface;
  14. use Sonata\AdminBundle\Builder\ListBuilderInterface;
  15. use Sonata\AdminBundle\Builder\DatagridBuilderInterface;
  16. use Symfony\Component\Routing\RouterInterface;
  17. use Symfony\Component\Translation\TranslatorInterface;
  18. use Symfony\Component\HttpFoundation\Request;
  19. interface AdminInterface
  20. {
  21. /**
  22. * @abstract
  23. * @param \Sonata\AdminBundle\Builder\FormContractorInterface $formContractor
  24. * @return void
  25. */
  26. function setFormContractor(FormContractorInterface $formContractor);
  27. /**
  28. * @abstract
  29. * @param ListBuilderInterface $listBuilder
  30. * @return void
  31. */
  32. function setListBuilder(ListBuilderInterface $listBuilder);
  33. /**
  34. * @abstract
  35. * @param \Sonata\AdminBundle\Builder\DatagridBuilderInterface $datagridBuilder
  36. * @return void
  37. */
  38. function setDatagridBuilder(DatagridBuilderInterface $datagridBuilder);
  39. /**
  40. * @abstract
  41. * @param \Symfony\Component\Translation\TranslatorInterface $translator
  42. * @return void
  43. */
  44. function setTranslator(TranslatorInterface $translator);
  45. /**
  46. * @abstract
  47. * @param \Symfony\Component\HttpFoundation\Request $request
  48. * @return void
  49. */
  50. function setRequest(Request $request);
  51. /**
  52. * @abstract
  53. * @param Pool $pool
  54. * @return void
  55. */
  56. function setConfigurationPool(Pool $pool);
  57. /**
  58. * @abstract
  59. * @param \Symfony\Component\Routing\RouterInterface $router
  60. * @return void
  61. */
  62. function setRouter(RouterInterface $router);
  63. /**
  64. * Returns the class name managed
  65. *
  66. * @abstract
  67. * @return void
  68. */
  69. function getClass();
  70. /**
  71. * @abstract
  72. * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription
  73. * @return void
  74. */
  75. function attachAdminClass(FieldDescriptionInterface $fieldDescription);
  76. /**
  77. * @abstract
  78. * @return \Sonata\AdminBundle\Datagrid\DatagridInterface
  79. */
  80. function getDatagrid();
  81. /**
  82. * @abstract
  83. * @param string $name
  84. * @param array $parameters
  85. * @return void
  86. */
  87. function generateUrl($name, array $parameters = array());
  88. /**
  89. * @abstract
  90. * @return \Sonata\AdminBundle\ModelManagerInterface;
  91. */
  92. function getModelManager();
  93. /**
  94. *
  95. * @return \Symfony\Component\Form\FormBuilder the form builder
  96. */
  97. function getFormBuilder();
  98. /**
  99. * @abstract
  100. * @param string $name
  101. * @return \Sonata\AdminBundle\Admin\FieldDescriptionInterface
  102. */
  103. function getFormFieldDescription($name);
  104. /**
  105. * @abstract
  106. * @return \Symfony\Component\HttpFoundation\Request
  107. */
  108. function getRequest();
  109. /**
  110. *
  111. * @return string
  112. */
  113. function getCode();
  114. /**
  115. * @abstract
  116. * @return array
  117. */
  118. function getSecurityInformation();
  119. /**
  120. * @abstract
  121. * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $parentFieldDescription
  122. * @return void
  123. */
  124. function setParentFieldDescription(FieldDescriptionInterface $parentFieldDescription);
  125. /**
  126. * translate a message id
  127. *
  128. * @param string $id
  129. * @param array $parameters
  130. * @param null $domain
  131. * @param null $locale
  132. * @return string the translated string
  133. */
  134. function trans($id, array $parameters = array(), $domain = null, $locale = null);
  135. }