コード例 #1
0
 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);
 }
コード例 #2
0
 /**
  * @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());
 }