$name]); } $this->name = $name; $this->fromNativeUnit = $fromNativeUnit; $this->toNativeUnit = $toNativeUnit; } /** * @see \PhpUnitsOfMeasure\UnitOfMeasureInterface::getName */ public function getName() { return $this->name; } /** * @see \PhpUnitsOfMeasure\UnitOfMeasureInterface::addAlias */ public function addAlias($alias) { if (!is_string($alias)) { throw new Exception\NonStringUnitName([':name' => $alias]); } $this->aliases[] = $alias; } /** * @see \PhpUnitsOfMeasure\UnitOfMeasureInterface::getAliases */ public function getAliases() { return $this->aliases; } /** * @see \PhpUnitsOfMeasure\UnitOfMeasureInterface::isAliasOf */ public function isAliasOf($unit) { if (!is_string($unit)) { throw new Exception\NonStringUnitName([':name' => $unit]); } return in_array($unit, $this->aliases); } /** * @see \PhpUnitsOfMeasure\UnitOfMeasureInterface::convertValueFromNativeUnitOfMeasure */ public function convertValueFromNativeUnitOfMeasure($value) { if (!is_numeric($value)) { throw new Exception\NonNumericValue([':value' => $value]); } $callable = $this->fromNativeUnit; return $callable($value); } /** * @see \PhpUnitsOfMeasure\UnitOfMeasureInterface::convertValueToNativeUnitOfMeasure */ public function convertValueToNativeUnitOfMeasure($value) { if (!is_numeric($value)) { throw new Exception\NonNumericValue([':value' => $value]); } $callable = $this->toNativeUnit; return $callable($value); } }