MediaWiki REL1_31
ApiQueryGeneratorBase.php
Go to the documentation of this file.
1<?php
26abstract class ApiQueryGeneratorBase extends ApiQueryBase {
27
28 private $mGeneratorPageSet = null;
29
37 public function setGeneratorMode( ApiPageSet $generatorPageSet ) {
38 if ( $generatorPageSet === null ) {
39 ApiBase::dieDebug( __METHOD__, 'Required parameter missing - $generatorPageSet' );
40 }
41 $this->mGeneratorPageSet = $generatorPageSet;
42 }
43
49 public function isInGeneratorMode() {
50 return $this->mGeneratorPageSet !== null;
51 }
52
58 protected function getPageSet() {
59 if ( $this->mGeneratorPageSet !== null ) {
61 }
62
63 return parent::getPageSet();
64 }
65
71 public function encodeParamName( $paramName ) {
72 if ( $this->mGeneratorPageSet !== null ) {
73 return 'g' . parent::encodeParamName( $paramName );
74 } else {
75 return parent::encodeParamName( $paramName );
76 }
77 }
78
84 protected function setContinueEnumParameter( $paramName, $paramValue ) {
85 if ( $this->mGeneratorPageSet !== null ) {
86 $this->getContinuationManager()->addGeneratorContinueParam( $this, $paramName, $paramValue );
87 } else {
88 parent::setContinueEnumParameter( $paramName, $paramValue );
89 }
90 }
91
93 protected function getHelpFlags() {
94 // Corresponding messages: api-help-flag-generator
95 $flags = parent::getHelpFlags();
96 $flags[] = 'generator';
97 return $flags;
98 }
99
104 abstract public function executeGenerator( $resultPageSet );
105}
static dieDebug( $method, $message)
Internal code errors should be reported with this method.
Definition ApiBase.php:2078
getContinuationManager()
Get the continuation manager.
Definition ApiBase.php:681
This class contains a list of pages that the client has requested.
This is a base class for all Query modules.
setContinueEnumParameter( $paramName, $paramValue)
Overridden to set the generator param if in generator mode.
getPageSet()
Get the PageSet object to work on.
setGeneratorMode(ApiPageSet $generatorPageSet)
Switch this module to generator mode.
executeGenerator( $resultPageSet)
Execute this module as a generator.
encodeParamName( $paramName)
Overrides ApiBase to prepend 'g' to every generator parameter.
isInGeneratorMode()
Indicate whether the module is in generator mode.