catalogSorter = $catalogSorter; } /** * @param UIAsset $uiAsset */ public function addUIAsset($uiAsset) { $location = $uiAsset->getAbsoluteLocation(); if (!$this->assetAlreadyInCatalog($location)) { $this->existingAssetLocations[] = $location; $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($location) { return in_array($location, $this->existingAssetLocations); } }