protected function extractAutoDetectValue($obj_property)
{
if ($obj_property->hasStringValue()) {
return $obj_property->getStringValue();
}
if ($obj_property->hasIntegerValue()) {
return $obj_property->getIntegerValue();
}
if ($obj_property->hasTimestampMicrosecondsValue()) {
return $this->extractDatetimeValue($obj_property);
}
if ($obj_property->hasDoubleValue()) {
return $obj_property->getDoubleValue();
}
if ($obj_property->hasBooleanValue()) {
return $obj_property->getBooleanValue();
}
if ($obj_property->hasGeoPointValue()) {
return $this->extractGeopointValue($obj_property);
}
if ($obj_property->getListValueSize() > 0) {
return $this->extractStringListValue($obj_property);
}
// $this->extractPropertyValue($int_field_type, $obj_property); // Recursive detection call
return null;
}