@@ 211-230 (lines=20) @@ | ||
208 | * |
|
209 | * @throws InvalidValueException If the default value is invalid. |
|
210 | */ |
|
211 | public function setDefaultValue($defaultValue = null) |
|
212 | { |
|
213 | if ($this->isRequired()) { |
|
214 | throw new InvalidValueException('Required arguments do not accept default values.'); |
|
215 | } |
|
216 | ||
217 | if ($this->isMultiValued()) { |
|
218 | if (null === $defaultValue) { |
|
219 | $defaultValue = array(); |
|
220 | } elseif (!is_array($defaultValue)) { |
|
221 | throw new InvalidValueException(sprintf( |
|
222 | 'The default value of a multi-valued argument must be an '. |
|
223 | 'array. Got: %s', |
|
224 | is_object($defaultValue) ? get_class($defaultValue) : gettype($defaultValue) |
|
225 | )); |
|
226 | } |
|
227 | } |
|
228 | ||
229 | $this->defaultValue = $defaultValue; |
|
230 | } |
|
231 | ||
232 | /** |
|
233 | * Returns the default value of the argument. |
@@ 242-261 (lines=20) @@ | ||
239 | * |
|
240 | * @throws InvalidValueException If the default value is invalid. |
|
241 | */ |
|
242 | public function setDefaultValue($defaultValue = null) |
|
243 | { |
|
244 | if (!$this->acceptsValue()) { |
|
245 | throw new InvalidValueException('Cannot set a default value when using the flag VALUE_NONE.'); |
|
246 | } |
|
247 | ||
248 | if ($this->isMultiValued()) { |
|
249 | if (null === $defaultValue) { |
|
250 | $defaultValue = array(); |
|
251 | } elseif (!is_array($defaultValue)) { |
|
252 | throw new InvalidValueException(sprintf( |
|
253 | 'The default value of a multi-valued option must be an '. |
|
254 | 'array. Got: %s', |
|
255 | is_object($defaultValue) ? get_class($defaultValue) : gettype($defaultValue) |
|
256 | )); |
|
257 | } |
|
258 | } |
|
259 | ||
260 | $this->defaultValue = $defaultValue; |
|
261 | } |
|
262 | ||
263 | /** |
|
264 | * Returns the default value of the option. |