[CLEANUP] Adjust code to coding guidelines
[Packages/TYPO3.CMS.git] / typo3 / sysext / extbase / Classes / Error / Message.php
1 <?php
2 namespace TYPO3\CMS\Extbase\Error;
3
4 /* *
5 * This script belongs to the Extbase framework *
6 * *
7 * It is free software; you can redistribute it and/or modify it under *
8 * the terms of the GNU Lesser General Public License as published by the *
9 * Free Software Foundation, either version 3 of the License, or (at your *
10 * option) any later version. *
11 * *
12 * This script is distributed in the hope that it will be useful, but *
13 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- *
14 * TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser *
15 * General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU Lesser General Public *
18 * License along with the script. *
19 * If not, see http://www.gnu.org/licenses/lgpl.html *
20 * *
21 * The TYPO3 project - inspiring people to share! *
22 * */
23 /**
24 * An object representation of a generic message. Usually, you will use Error, Warning or Notice instead of this one.
25 *
26 * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
27 * @api
28 */
29 class Message {
30
31 /**
32 * The default (english) error message
33 *
34 * @var string
35 */
36 protected $message = 'Unknown message';
37
38 /**
39 * The error code
40 *
41 * @var string
42 */
43 protected $code;
44
45 /**
46 * The message arguments. Will be replaced in the message body.
47 *
48 * @var array
49 */
50 protected $arguments = array();
51
52 /**
53 * An optional title for the message (used eg. in flashMessages).
54 *
55 * @var string
56 */
57 protected $title = '';
58
59 /**
60 * Constructs this error
61 *
62 * @param string $message An english error message which is used if no other error message can be resolved
63 * @param integer $code A unique error code
64 * @param array $arguments Array of arguments to be replaced in message
65 * @param string $title optional title for the message
66 * @api
67 */
68 public function __construct($message, $code, array $arguments = array(), $title = '') {
69 $this->message = $message;
70 $this->code = $code;
71 $this->arguments = $arguments;
72 $this->title = $title;
73 }
74
75 /**
76 * Returns the error message
77 *
78 * @return string The error message
79 * @api
80 */
81 public function getMessage() {
82 return $this->message;
83 }
84
85 /**
86 * Returns the error code
87 *
88 * @return string The error code
89 * @api
90 */
91 public function getCode() {
92 return $this->code;
93 }
94
95 /**
96 * Get arguments
97 *
98 * @return array
99 * @api
100 */
101 public function getArguments() {
102 return $this->arguments;
103 }
104
105 /**
106 * Get title
107 *
108 * @return string
109 * @api
110 */
111 public function getTitle() {
112 return $this->title;
113 }
114
115 /**
116 * Return the rendered message
117 *
118 * @return string
119 * @api
120 */
121 public function render() {
122 if (!empty($this->arguments)) {
123 return vsprintf($this->message, $this->arguments);
124 } else {
125 return $this->message;
126 }
127 }
128
129 /**
130 * Converts this error into a string
131 *
132 * @return string
133 * @api
134 */
135 public function __toString() {
136 return $this->render();
137 }
138 }
139
140 ?>