/** * Auto detect & extract a value * * @todo expand auto detect types * * @param Value $obj_property * @return mixed */ 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->getListValueSize() > 0) { return $this->extractStringListValue($obj_property); } // $this->extractPropertyValue($int_field_type, $obj_property); // Recursive detection call return null; }