private function shouldSkip($object, Exclusion $exclusion = null, SerializationContext $context) { if (null !== $exclusion && null !== $exclusion->getExcludeIf() && $this->expressionEvaluator->evaluate($exclusion->getExcludeIf(), $object)) { return true; } if (!$context->getExclusionStrategy()) { return false; } $propertyMetadata = new RelationPropertyMetadata($exclusion); return $context->getExclusionStrategy()->shouldSkipProperty($propertyMetadata, $context); }
/** * @param Exclusion|null $exclusion * @return Exclusion */ private function transformExclusion(Exclusion $exclusion = null) { if (!$exclusion) { return new Exclusion([$this->exclusionGroup]); } $groups = is_array($exclusion->getGroups()) ? $exclusion->getGroups() : []; return new Exclusion(array_merge($groups, [$this->exclusionGroup]), $exclusion->getSinceVersion(), $exclusion->getUntilVersion(), $exclusion->getMaxDepth(), $exclusion->getExcludeIf()); }