]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - includes/session/MetadataMergeException.php
MediaWiki 1.30.2
[autoinstalls/mediawiki.git] / includes / session / MetadataMergeException.php
1 <?php
2 /**
3  * @section LICENSE
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17  * http://www.gnu.org/copyleft/gpl.html
18  *
19  * @file
20  * @ingroup Session
21  */
22
23 namespace MediaWiki\Session;
24
25 use Exception;
26 use UnexpectedValueException;
27
28 /**
29  * Subclass of UnexpectedValueException that can be annotated with additional
30  * data for debug logging.
31  *
32  * @copyright © 2016 Wikimedia Foundation and contributors
33  * @since 1.27
34  */
35 class MetadataMergeException extends UnexpectedValueException {
36         /** @var array $context */
37         protected $context;
38
39         /**
40          * @param string $message
41          * @param int $code
42          * @param Exception|null $previous
43          * @param array $context Additional context data
44          */
45         public function __construct(
46                 $message = '',
47                 $code = 0,
48                 Exception $previous = null,
49                 array $context = []
50         ) {
51                 parent::__construct( $message, $code, $previous );
52                 $this->context = $context;
53         }
54
55         /**
56          * Get context data.
57          * @return array
58          */
59         public function getContext() {
60                 return $this->context;
61         }
62
63         /**
64          * Set context data.
65          * @param array $context
66          */
67         public function setContext( array $context ) {
68                 $this->context = $context;
69         }
70 }