catalogSorter = $catalogSorter; } /** * @param UIAsset $uiAsset */ public function addUIAsset($uiAsset) { if(!$this->assetAlreadyInCatalog($uiAsset)) { $this->uiAssets[] = $uiAsset; } } /** * @return UIAsset[] */ public function getAssets() { return $this->uiAssets; } /** * @return UIAssetCatalog */ public function getSortedCatalog() { return $this->catalogSorter->sortUIAssetCatalog($this); } /** * @param UIAsset $uiAsset * @return boolean */ private function assetAlreadyInCatalog($uiAsset) { foreach($this->uiAssets as $existingAsset) if($uiAsset->getAbsoluteLocation() == $existingAsset->getAbsoluteLocation()) return true; return false; } }