Returns component_id with seperate entries from every page in tree

@example
root
|-1
|-2
|-3
componentId: 3, expandedComponentId: root-1_2_3

@return string
8934
public function getExpandedComponentId()
    {
        if ($this->_expandedComponentIdCache) {
            return $this->_expandedComponentIdCache;
        }
        $generator = $this->generator;
        if ($generator instanceof Kwc_Root_Category_Generator) {
            $separator = '_';
        } else {
            $separator = $generator->getIdSeparator();
        }
        $this->_expandedComponentIdCache = $this->parent->getExpandedComponentId() .
            $separator . $this->id;

        return $this->_expandedComponentIdCache;
    }
649974
protected function getRootComponent()
    {
        $cur = $this;
        while ($cur->parent !== null) {
            $cur = $cur->parent;
        }
        return $cur;
    }
549238
protected function getExtensionId()
    {
        $extensionEntity = $this->getExtensionEntity();
        if (isset($extensionEntity)) {
            $extensionEntityId = $extensionEntity->get('id');
        }

        if (!isset($extensionEntityId)) {
            return $this->getProcessId();
        }

        return $extensionEntityId;
    }
640601
public function ids() {
		// if the component has not been created yet
		if (!isset($this->ids)) {
			// create the component
			$this->ids = new Id(
				$_ENV['SECURITY_IDS_ALPHABET'],
				$_ENV['SECURITY_IDS_PRIME'],
				$_ENV['SECURITY_IDS_INVERSE'],
				$_ENV['SECURITY_IDS_RANDOM']
			);
		}

		// return the component
		return $this->ids;
	}
446436
public function getRootId()
    {
        if (self::$rootId !== null) {
            return self::$rootId;
        }

        // Get the root item.
        $k = $this->getKeyName();

        // Test for a unique record with parent_id = 0
        $query = $this->db->getQuery(true)
            ->select($k)
            ->from($this->db->quoteName($this->table))
            ->where('parent_id = 0');

        $result = $this->db->setQuery($query)->loadColumn();

        if (count($result) == 1) {
            return self::$rootId = $result[0];
        }

        // Test for a unique record with lft = 0
        $query->clear()
            ->select($k)
            ->from($this->db->quoteName($this->table))
            ->where('lft = 0');

        $result = $this->db->setQuery($query)->loadColumn();

        if (count($result) == 1) {
            return self::$rootId = $result[0];
        }

        throw new NestedHandleException(sprintf('%s::getRootId', get_class($this)));
    }
190746
public function getDefaultStyleID()
    {
        $ids = [$this->getTitleID()];
        
        $parent = $this->getParent();
        
        while ($parent instanceof Component) {
            $ids[]  = $parent->getTitleID();
            $parent = $parent->getParent();
        }
        
        return implode('_', array_reverse($ids));
    }
44958
public static function getRootPageId ($strTable, $intId)
	{
		if ($strTable == 'tl_article')
		{
			$objArticle = \ArticleModel::findById($intId);

			if ($objArticle === null)
			{
				return null;
			}
			
			$objPage = \PageModel::findWithDetails($objArticle->pid);

			if ($objPage === null)
			{
				return null;
			}

			return $objPage->rootId;
		}
		
		elseif($strTable == 'tl_news')
		{
			$objNews = \NewsModel::findById($intId);

			if ($objNews === null)
			{
				return null;
			}
			
			$objPage = \PageModel::findWithDetails($objNews->getRelated('pid')->jumpTo);

			if ($objPage === null)
			{
				return null;
			}
			
			return $objPage->rootId;
		}
		
		else
		{
			// HOOK: custom method to discover the layout id
			if (isset($GLOBALS['TL_HOOKS']['getRootPageId']) && is_array($GLOBALS['TL_HOOKS']['getRootPageId']))
			{
				foreach ($GLOBALS['TL_HOOKS']['getRootPageId'] as $callback)
				{
					//$this->import($callback[0]);
					$rootId = static::importStatic($callback[0])->{$callback[1]}($strTable, $intId);
			
					if (rootId)
					{
						return $rootId;
					}
				}
			}
		}
		
		return null;
	}
765994
public function getIdentifier()
    {
        $identifier = $this->getFromNode()->getIdentifier() 
                    . '-'
                    . $this->getType()
                    . '-'
                    . $this->getToNode()->getIdentifier();
        
        return $identifier;
    }
914771
public function getID() {
		$parents = $this->getParents();
		$c = count($parents);

		if($c > 0) {
			$id = $parents[0].'-';
			for($i=1; $i<$c; $i++)
				$id .= $parents[$i].'-';
			$id .= $this->name;
			return $id;
		}
		else
			return $this->name;
	}
140083
public function getComponentsFlattened() {
    $components = [];
    foreach ($this->getComponents() as $component) {
      $components[] = $component;
      if ($component instanceof ComponentNested) {
        /** @var \ChapterThree\AppleNewsAPI\Document\Components\ComponentNested $component */
        $descendants = $component->getComponentsFlattened();
        array_merge($components, $descendants);
      }
    }
    return $components;
  }
947616
public function getAnchor()
    {
        $linkedElement = $this->LinkedElement();

        if ($linkedElement && $linkedElement->exists()) {
            return $linkedElement->getAnchor();
        }

        return 'e' . $this->ID;
    }
1196641
public function getResourceId()
    {
        if ( null === $this->aclResourceId )
        {
            $this->aclResourceId = 'paragraph.' .
                $this->getType() . '.' . ( (int) $this->getId() );
        }

        return $this->aclResourceId;
    }
942435
public String getComponentId() {
    if (Annotation_Type.featOkTst && ((Annotation_Type)jcasType).casFeat_componentId == null)
      jcasType.jcas.throwFeatMissing("componentId", "de.julielab.jules.types.Annotation");
    return jcasType.ll_cas.ll_getStringValue(addr, ((Annotation_Type)jcasType).casFeatCode_componentId);}
872257
public function getHtmlId()
    {
        $id = '';
        if (is_object($this->parent)) {
            $id = $this->parent->getHtmlId();
        }
        
        if ($this->key !== '') {
            $id .= '-' . $this->key;
        }
        
        return $id;
    }
1315915
public function getPageIdBreadcrumbAction()
    {
        $idPage = $this->params()->fromRoute('idPage', $this->params()->fromQuery('idPage', ''));
        $idPage = ($idPage == 'root')? -1 : $idPage;
        $includeSelf = $this->params()->fromRoute('includeSelf', $this->params()->fromQuery('includeSelf', ''));
        
    	$melisEngineTree = $this->serviceLocator->get('MelisEngineTree');
		$breadcrumb = $melisEngineTree->getPageBreadcrumb($idPage, 0, true);
		
		$pageFatherId = $idPage;
		$jsonresult = array();
		
		if($includeSelf){
		    array_unshift($jsonresult, $pageFatherId);
		}
		
		while($pageFatherId != NULL){
		    
		    $page = $melisEngineTree->getPageFather($pageFatherId, 'saved')->current();
		    $pageFatherId = !empty($page)? $page->tree_father_page_id : NULL;
		    
		    if(!empty($pageFatherId)){
		        array_unshift($jsonresult, $pageFatherId);
		    }
		    
		}

		return new JsonModel($jsonresult);
	}
119001
public function getRootIndi() {
        $root_indi_id = $this->getRootIndiId();
        if(!empty($root_indi_id)) {
            return Individual::getInstance($root_indi_id, $this->tree);
        }
        return null;
    }
510936
final public function getId() {
		
		$ids = array();
			
		foreach ($this->keyProperties as $propertyName) {
			$ids[] = $this->{$propertyName};
		}
		
		return (static::hasCompoundKey() ? $ids : $ids[0]);
		
	}