private function annotateClassMetadata($classMapping, $metadata)
{
$className = $classMapping['class'];
switch ($className) {
case 'ElasticSearchable':
if (isset($classMapping['numberOfShards'])) {
$metadata->numberOfShards = $classMapping['numberOfShards'];
}
if (isset($classMapping['numberOfReplicas'])) {
$metadata->numberOfReplicas = $classMapping['numberOfReplicas'];
}
if (isset($classMapping['parent'])) {
$metadata->parent = $classMapping['parent'];
}
if (isset($classMapping['timeToLive'])) {
$metadata->timeToLive = $classMapping['timeToLive'];
}
if (isset($classMapping['boost'])) {
$metadata->boost = $classMapping['boost'];
}
if (isset($classMapping['source'])) {
$metadata->source = $classMapping['source'];
}
// no break
// no break
case 'Searchable':
if (isset($classMapping['index'])) {
$metadata->index = $classMapping['index'];
}
if (isset($classMapping['type'])) {
$metadata->type = $classMapping['type'];
}
break;
default:
throw MappingException::classIsNotAValidDocument($className);
}
}