eZ\Publish\Core\Limitation\StatusLimitationType::acceptValue PHP Method

acceptValue() public method

Makes sure LimitationValue object and ->limitationValues is of correct type.
public acceptValue ( eZ\Publish\API\Repository\Values\User\Limitation $limitationValue )
$limitationValue eZ\Publish\API\Repository\Values\User\Limitation
    public function acceptValue(APILimitationValue $limitationValue)
    {
        if (!$limitationValue instanceof APIStatusLimitation) {
            throw new InvalidArgumentType('$limitationValue', 'APIStatusLimitation', $limitationValue);
        } elseif (!is_array($limitationValue->limitationValues)) {
            throw new InvalidArgumentType('$limitationValue->limitationValues', 'array', $limitationValue->limitationValues);
        }
        foreach ($limitationValue->limitationValues as $key => $id) {
            if (!is_string($id) && !is_int($id)) {
                throw new InvalidArgumentType("\$limitationValue->limitationValues[{$key}]", 'int|string', $id);
            }
        }
    }

Usage Example

 /**
  * @depends testConstruct
  * @dataProvider providerForTestAcceptValueException
  * @expectedException \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException
  *
  * @param \eZ\Publish\API\Repository\Values\User\Limitation $limitation
  * @param \eZ\Publish\Core\Limitation\StatusLimitationType $limitationType
  */
 public function testAcceptValueException(Limitation $limitation, StatusLimitationType $limitationType)
 {
     $limitationType->acceptValue($limitation);
 }