CustomVariableNumber: new type for ints and floats

This commit is contained in:
Thomas Gelf 2015-10-28 22:27:24 +01:00
parent 51813557c9
commit 5886765e37
1 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,42 @@
<?php
namespace Icinga\Module\Director\CustomVariable;
use Icinga\Exception\ProgrammingError;
class CustomVariableNumber extends CustomVariable
{
public function equals(CustomVariable $var)
{
return $var->getValue() === $this->getValue();
}
public function getDbFormat()
{
return 'json';
}
public function getValue()
{
return $this->value;
}
public function setValue($value)
{
if (! is_int($value) && ! is_float($value)) {
throw new ProgrammingError(
'Expected a number, got %s',
var_export($value, 1)
);
}
$this->value = $value;
return $this;
}
public function toConfigString()
{
return (string) $this->value;
}
}