/** * validate * @param mixed $value * @return Date|DateTime|bool|float|int */ public function validate($value) { if ($this->isAsParsable()) { return $value; } else { $value = self::parseLexiconParameter($value); } switch ($this->getAllowedType()) { case Method::RETURN_BOOLEAN: $value = Assert::isBool($value); break; case Method::RETURN_DOUBLE: $value = Assert::isFloat($value); break; case Method::RETURN_INT: $value = Assert::isInt($value); break; case Method::RETURN_DATE: $value = new Date($value); break; case Method::RETURN_DATETIME: $value = new DateTime($value); break; } return $value; }
/** * Setter * @param int $weekOffset * @throws InvalidArgumentException */ public function setWeekOffset($weekOffset) { $weekOffset = Assert::isInt($weekOffset); if ($weekOffset > 6 || $weekOffset < 0) { throw new InvalidArgumentException('Week Offset must be between 0 and 6'); } $this->weekOffset = $weekOffset; }