Formulas/Resources/Formulas/Formula.php
private function getExplicitDimensionAspectValue( $source, $componentPath, $evaluationResult, $explicitDimension, $log )
	{
		$result = $this->getComponentForPath( $source, $componentPath, 'explicitMember', $evaluationResult, $explicitDimension, $log, $contextRef );
		$context = Dimension::contextToIndex( $result, true, $this, $explicitDimension );

		if ( ! $this->explicitDimensionRule )
		{
			return $context;
		}

		$this->context = $context;
		$this->contextRef = $contextRef;

		foreach ( $this->explicitDimensionRule as $explicitDimensionRule )
		{
			/**
			 * @var ExplicitDimension $explicit
			 */
			$explicit = ExplicitDimension::fromArray( $explicitDimensionRule );
			$dimensionClark = "{{$explicit->dimension['namespace']}}{$explicit->dimension['name']}";
			if ( ! empty( $explicitDimension ) )
				if ( $dimensionClark != $explicitDimension ) continue;
			$explicit->aspectDimension = $explicitDimension;
			$this->context = $explicit->getValue( $this, $evaluationResult, $log );
		}

		$explicitDimensions = $this->context;
		unset( $this->context );
		unset( $this->contextRef );

		return $explicitDimensions;
	}
private function getExplicitDimensionAspectValue( $source, $componentPath, $evaluationResult, $explicitDimension, $log )
	{
		$result = $this->getComponentForPath( $source, $componentPath, 'explicitMember', $evaluationResult, $explicitDimension, $log, $contextRef );
		$context = Dimension::contextToIndex( $result, true, $this, $explicitDimension );

		if ( ! $this->explicitDimensionRule )
		{
			return $context;
		}

		$this->context = $context;
		$this->contextRef = $contextRef;

		foreach ( $this->explicitDimensionRule as $explicitDimensionRule )
		{
			/**
			 * @var ExplicitDimension $explicit
			 */
			$explicit = ExplicitDimension::fromArray( $explicitDimensionRule );
			$dimensionClark = "{{$explicit->dimension['namespace']}}{$explicit->dimension['name']}";
			if ( ! empty( $explicitDimension ) )
				if ( $dimensionClark != $explicitDimension ) continue;
			$explicit->aspectDimension = $explicitDimension;
			$this->context = $explicit->getValue( $this, $evaluationResult, $log );
		}

		$explicitDimensions = $this->context;
		unset( $this->context );
		unset( $this->contextRef );

		return $explicitDimensions;
	}
private function getExplicitDimensionAspectValue ( $ source , $ componentPath , $ evaluationResult , $ explicitDimension , $ log ) { $ result = $ this -> getComponentForPath ( $ source , $ componentPath , 'explicitMember' , $ evaluationResult , $ explicitDimension , $ log , $ contextRef ) ; $ context = Dimension :: contextToIndex ( $ result , true , $ this , $ explicitDimension ) ; if ( ! $ this -> explicitDimensionRule ) { return $ context ; } $ this -> context = $ context ; $ this -> contextRef = $ contextRef ; foreach ( $ this -> explicitDimensionRule as $ explicitDimensionRule ) { /**
			 * @var ExplicitDimension $explicit
			 */ $ explicit = ExplicitDimension :: fromArray ( $ explicitDimensionRule ) ; $ dimensionClark = "{{$explicit->dimension['namespace']}}{$explicit->dimension['name']}" ; if ( ! empty ( $ explicitDimension ) ) if ( $ dimensionClark != $ explicitDimension ) continue ; $ explicit -> aspectDimension = $ explicitDimension ; $ this -> context = $ explicit -> getValue ( $ this , $ evaluationResult , $ log ) ; } $ explicitDimensions = $ this -> context ; unset ( $ this -> context ) ; unset ( $ this -> contextRef ) ; return $ explicitDimensions ; }
Get the explicit diemsion to be used for this fact.  If an explicit dimension rule does not exist, use the formula source value
@param string $source The formula source
@param array $componentPath
@param array $evaluationResult
@param array $explicitDimension
@param \XBRL_Log $log
@return array|null
Get the explicit diemsion to be used for this fact . If an explicit dimension rule does not exist use the formula source value