private function buildQueryParamValue($mix_value)
{
$obj_val = new \stdClass();
$str_type = gettype($mix_value);
switch ($str_type) {
case 'boolean':
$obj_val->booleanValue = $mix_value;
break;
case 'integer':
$obj_val->integerValue = $mix_value;
break;
case 'double':
$obj_val->doubleValue = $mix_value;
break;
case 'string':
$obj_val->stringValue = $mix_value;
break;
case 'array':
throw new \InvalidArgumentException('Unexpected array parameter');
case 'object':
$this->configureObjectValueParamForQuery($obj_val, $mix_value);
break;
case 'null':
$obj_val->nullValue = null;
break;
case 'resource':
case 'unknown type':
default:
throw new \InvalidArgumentException('Unsupported parameter type: ' . $str_type);
}
return $obj_val;
}