getRevisionParserOutput. * Caching behavior may be defined by subclasses. * * @note No audience checks are applied. * * @internal */ class PoolWorkArticleView extends PoolCounterWork { /** @var ParserOptions */ protected $parserOptions; /** @var RevisionRecord */ protected $revision; /** @var RevisionRenderer */ private $renderer; /** @var LoggerSpi */ protected $loggerSpi; /** * @param string $workKey * @param RevisionRecord $revision Revision to render * @param ParserOptions $parserOptions ParserOptions to use for the parse * @param RevisionRenderer $revisionRenderer * @param LoggerSpi $loggerSpi */ public function __construct( string $workKey, RevisionRecord $revision, ParserOptions $parserOptions, RevisionRenderer $revisionRenderer, LoggerSpi $loggerSpi ) { parent::__construct( 'ArticleView', $workKey ); $this->revision = $revision; $this->parserOptions = $parserOptions; $this->renderer = $revisionRenderer; $this->loggerSpi = $loggerSpi; } /** * @return Status */ public function doWork() { return $this->renderRevision(); } /** * Render the given revision. * * @see ParserOutputAccess::renderRevision * * @return Status with the value being a ParserOutput or null */ public function renderRevision(): Status { $renderedRevision = $this->renderer->getRenderedRevision( $this->revision, $this->parserOptions, null, [ 'audience' => RevisionRecord::RAW ] ); $parserOutput = $renderedRevision->getRevisionParserOutput(); return Status::newGood( $parserOutput ); } /** * @param Status $status * @return Status */ public function error( $status ) { return $status; } } /** @deprecated class alias since 1.42 */ class_alias( PoolWorkArticleView::class, 'PoolWorkArticleView' );