3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 * http://www.gnu.org/copyleft/gpl.html
21 namespace MediaWiki\Edit
;
29 * Represents information returned by WikiPage::prepareContentForEdit()
31 * @deprecated since 1.32, use DerivedPageDataUpdater instead.
37 * Time this prepared edit was made
51 * Content after going through pre-save transform
65 * Parser options used to get parser output
74 * @var ParserOutput|null
76 private $canonicalOutput;
79 * Content that is being saved (before PST)
86 * Current content of the page, if any
93 * Lazy-loading callback to get canonical ParserOutput object
97 public $parserOutputCallback;
100 * @return ParserOutput Canonical parser output
102 public function getOutput() {
103 if ( !$this->canonicalOutput
) {
104 $this->canonicalOutput
= call_user_func( $this->parserOutputCallback
);
107 return $this->canonicalOutput
;
111 * Fetch the ParserOutput via a lazy-loaded callback (for backwards compatibility).
113 * @deprecated since 1.33
114 * @param string $name
117 function __get( $name ) {
118 if ( $name === 'output' ) {
119 return $this->getOutput();
122 throw new RuntimeException( "Undefined field $name." );