/** * @param string $nodePathOrIdentifier * @return PropertyConditionGenerator */ public function isDescendantNodeOf($nodePathOrIdentifier) { if (preg_match(UuidValidator::PATTERN_MATCH_UUID, $nodePathOrIdentifier) === 1) { $node = $this->getNodeByIdentifier($nodePathOrIdentifier); if ($node === null) { return new FalseConditionGenerator(); } $nodePath = $node->getPath(); } else { $nodePath = rtrim($nodePathOrIdentifier, '/'); } $propertyConditionGenerator1 = new PropertyConditionGenerator('path'); $propertyConditionGenerator2 = new PropertyConditionGenerator('path'); return new DisjunctionGenerator(array($propertyConditionGenerator1->like($nodePath . '/%'), $propertyConditionGenerator2->equals($nodePath))); }
/** * @param string $tagLabel * @return PropertyConditionGenerator */ public function isLabeled($tagLabel) { $propertyConditionGenerator = new PropertyConditionGenerator('label'); return $propertyConditionGenerator->equals($tagLabel); }
/** * @param string $collectionTitle * @return PropertyConditionGenerator */ public function isTitled($collectionTitle) { $propertyConditionGenerator = new PropertyConditionGenerator('title'); return $propertyConditionGenerator->equals($collectionTitle); }
/** * @param string $mediaType * @return PropertyConditionGenerator */ public function hasMediaType($mediaType) { $propertyConditionGenerator = new PropertyConditionGenerator('resource.mediaType'); return $propertyConditionGenerator->equals($mediaType); }