protected function extractPropertyValue($int_type, $obj_property)
{
switch ($int_type) {
case Schema::PROPERTY_STRING:
return isset($obj_property->stringValue) ? $obj_property->stringValue : null;
case Schema::PROPERTY_INTEGER:
return isset($obj_property->integerValue) ? $obj_property->integerValue : null;
case Schema::PROPERTY_DATETIME:
return isset($obj_property->timestampValue) ? $this->extractDatetimeValue($obj_property) : null;
case Schema::PROPERTY_DOUBLE:
case Schema::PROPERTY_FLOAT:
return isset($obj_property->doubleValue) ? $obj_property->doubleValue : null;
case Schema::PROPERTY_BOOLEAN:
return isset($obj_property->booleanValue) ? $obj_property->booleanValue : null;
case Schema::PROPERTY_GEOPOINT:
return isset($obj_property->geoPointValue) ? $this->extractGeopointValue($obj_property) : null;
case Schema::PROPERTY_STRING_LIST:
return $this->extractStringListValue($obj_property);
case Schema::PROPERTY_DETECT:
return $this->extractAutoDetectValue($obj_property);
}
throw new \Exception('Unsupported field type: ' . $int_type);
}