public function addAutoField($str_name, $mix_value)
    {
        switch(gettype($mix_value)) {
            case 'integer':
            case 'double':
                $this->addNumber($str_name);
                break;

            case 'object':
                if($mix_value instanceof \DateTime) {
                    $this->addDate($str_name);
                } elseif (method_exists($mix_value, '__toString')) {
                    $this->addText($str_name);
                } else {
                    // @todo consider exception
                }
                break;

            case 'array': // @todo consider exception
            case 'string':
            case 'boolean': // @todo consider exception / numeric
            case 'resource': // @todo consider exception
            case 'null':
            case 'unknown type': // @todo consider exception
            default:
                $this->addText($str_name);
        }
        return $this;
    }