Mapping/ItemMetaData.php
protected function validateAndCompleteHit($hitIdentifier, array &$hitDefinition)
	{
		$this->addRequiredHit($hitIdentifier);

		if(!isset($hitDefinition['scoreFactor']))
		{
			$this->setHitScoreFactor($hitIdentifier, 1);
		}
		elseif(!settype($hitDefinition['scoreFactor'], 'integer'))
		{
			throw MappingException::invalidMappingType($this->itemClass, 'scoreFactor', 'integer', $hitIdentifier);
		}
		else
		{
			$this->setHitScoreFactor($hitIdentifier, $hitDefinition['scoreFactor']);
		}

		//Defaut non sortable, non added to $this->sortableHits
		if(isset($hitDefinition['sortable']) && !settype($hitDefinition['sortable'], 'boolean'))
		{
			throw MappingException::invalidMappingType($this->itemClass, 'sortable', 'boolean', $hitIdentifier);
		}
		elseif(isset($hitDefinition['sortable']) && $hitDefinition['sortable'] === true)
		{
			$this->addSortableHit($hitIdentifier);
		}

		if(!isset($hitDefinition['label']))
		{
			throw MappingException::requiredMapping($this->itemClass, 'label', $hitIdentifier);
		}
		elseif(!settype($hitDefinition['label'], 'string'))
		{
			throw MappingException::invalidMappingType($this->itemClass, 'label', 'string', $hitIdentifier);
		}
		else
		{
			$this->hitLabels[$hitIdentifier] = $hitDefinition['label'];
		}

		foreach($hitDefinition['mapping'] as $entityIdentifier => $attribute)
		{
			$this->setHitEntityAttribute($hitIdentifier, $entityIdentifier, $attribute);
		}
	}
protected function validateAndCompleteHit($hitIdentifier, array &$hitDefinition)
	{
		$this->addRequiredHit($hitIdentifier);

		if(!isset($hitDefinition['scoreFactor']))
		{
			$this->setHitScoreFactor($hitIdentifier, 1);
		}
		elseif(!settype($hitDefinition['scoreFactor'], 'integer'))
		{
			throw MappingException::invalidMappingType($this->itemClass, 'scoreFactor', 'integer', $hitIdentifier);
		}
		else
		{
			$this->setHitScoreFactor($hitIdentifier, $hitDefinition['scoreFactor']);
		}

		//Defaut non sortable, non added to $this->sortableHits
		if(isset($hitDefinition['sortable']) && !settype($hitDefinition['sortable'], 'boolean'))
		{
			throw MappingException::invalidMappingType($this->itemClass, 'sortable', 'boolean', $hitIdentifier);
		}
		elseif(isset($hitDefinition['sortable']) && $hitDefinition['sortable'] === true)
		{
			$this->addSortableHit($hitIdentifier);
		}

		if(!isset($hitDefinition['label']))
		{
			throw MappingException::requiredMapping($this->itemClass, 'label', $hitIdentifier);
		}
		elseif(!settype($hitDefinition['label'], 'string'))
		{
			throw MappingException::invalidMappingType($this->itemClass, 'label', 'string', $hitIdentifier);
		}
		else
		{
			$this->hitLabels[$hitIdentifier] = $hitDefinition['label'];
		}

		foreach($hitDefinition['mapping'] as $entityIdentifier => $attribute)
		{
			$this->setHitEntityAttribute($hitIdentifier, $entityIdentifier, $attribute);
		}
	}
protected function validateAndCompleteHit ( $ hitIdentifier , array & $ hitDefinition ) { $ this -> addRequiredHit ( $ hitIdentifier ) ; if ( ! isset ( $ hitDefinition [ 'scoreFactor' ] ) ) { $ this -> setHitScoreFactor ( $ hitIdentifier , 1 ) ; } elseif ( ! settype ( $ hitDefinition [ 'scoreFactor' ] , 'integer' ) ) { throw MappingException :: invalidMappingType ( $ this -> itemClass , 'scoreFactor' , 'integer' , $ hitIdentifier ) ; } else { $ this -> setHitScoreFactor ( $ hitIdentifier , $ hitDefinition [ 'scoreFactor' ] ) ; } //Defaut non sortable, non added to $this->sortableHits if ( isset ( $ hitDefinition [ 'sortable' ] ) && ! settype ( $ hitDefinition [ 'sortable' ] , 'boolean' ) ) { throw MappingException :: invalidMappingType ( $ this -> itemClass , 'sortable' , 'boolean' , $ hitIdentifier ) ; } elseif ( isset ( $ hitDefinition [ 'sortable' ] ) && $ hitDefinition [ 'sortable' ] === true ) { $ this -> addSortableHit ( $ hitIdentifier ) ; } if ( ! isset ( $ hitDefinition [ 'label' ] ) ) { throw MappingException :: requiredMapping ( $ this -> itemClass , 'label' , $ hitIdentifier ) ; } elseif ( ! settype ( $ hitDefinition [ 'label' ] , 'string' ) ) { throw MappingException :: invalidMappingType ( $ this -> itemClass , 'label' , 'string' , $ hitIdentifier ) ; } else { $ this -> hitLabels [ $ hitIdentifier ] = $ hitDefinition [ 'label' ] ; } foreach ( $ hitDefinition [ 'mapping' ] as $ entityIdentifier => $ attribute ) { $ this -> setHitEntityAttribute ( $ hitIdentifier , $ entityIdentifier , $ attribute ) ; } }
Validates & completes the given hit definition.

@param string $hitIdentifier the hit identifier
@param array $hitDefinition  The attribute mapping to validated & complete.
@throws MappingException
Validates & completes the given hit definition .