/** * Iterates over annotated properties in an object filtering the selected * values * * @param object $object * @param string $limitProperty */ protected function walkObject($object, $limitProperty = null) { if ($object === null) { return; } $metadata = $this->metadataFactory->getClassMetadata(get_class($object)); //Get a Object Handler/Walker $walker = new ObjectWalker($object, $this->filterLoader); //Get all filtered properties or limit with selected $properties = $limitProperty !== null ? array($limitProperty) : $metadata->getFilteredProperties(); //Iterate over properties with filters foreach ($properties as $property) { $walker->applyFilterRules($property, $metadata->getPropertyRules($property)); } }