54 parent::__construct( $page, $user, $comment, $row, $slots, $wikiID );
55 $this->mCallback = $callback;
64 if ( $this->mCallback ) {
65 $this->loadFreshRow();
67 return parent::getVisibility();
71 public function getUser(
int $audience = self::FOR_PUBLIC, ?
Authority $performer =
null ) {
72 if ( $this->mCallback ) {
73 $this->loadFreshRow();
75 return parent::getUser( $audience, $performer );
91 private function loadFreshRow() {
92 [ $freshRevDeleted, $freshUser ] = ( $this->mCallback )( $this->mId );
96 $this->mCallback =
null;
98 if ( $freshRevDeleted !==
null && $freshUser !==
null ) {
99 $this->mDeleted = intval( $freshRevDeleted );
100 $this->mUser = $freshUser;
102 throw new RevisionAccessException(
103 'Unable to load fresh row for rev_id: {rev_id}',
104 [
'rev_id' => $this->mId ]
Interface for objects (potentially) representing an editable wiki page.