ScriptFile.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace Elastica\Script;
  3. /**
  4. * Script objects, containing script internals.
  5. *
  6. * @author avasilenko <aa.vasilenko@gmail.com>
  7. * @author Nicolas Assing <nicolas.assing@gmail.com>
  8. * @author Tobias Schultze <http://tobion.de>
  9. * @author Martin Janser <martin.janser@liip.ch>
  10. *
  11. * @link https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html
  12. */
  13. class ScriptFile extends AbstractScript
  14. {
  15. /**
  16. * @var string
  17. */
  18. private $_scriptFile;
  19. /**
  20. * @param string $scriptFile Script file name
  21. * @param array|null $params
  22. * @param string|null $documentId Document ID the script action should be performed on (only relevant in update context)
  23. */
  24. public function __construct($scriptFile, array $params = null, $documentId = null)
  25. {
  26. parent::__construct($params, null, $documentId);
  27. $this->setScriptFile($scriptFile);
  28. }
  29. /**
  30. * @param string $scriptFile
  31. *
  32. * @return $this
  33. */
  34. public function setScriptFile($scriptFile)
  35. {
  36. $this->_scriptFile = $scriptFile;
  37. return $this;
  38. }
  39. /**
  40. * @return string
  41. */
  42. public function getScriptFile()
  43. {
  44. return $this->_scriptFile;
  45. }
  46. /**
  47. * {@inheritdoc}
  48. */
  49. protected function getScriptTypeArray()
  50. {
  51. return ['file' => $this->_scriptFile];
  52. }
  53. }