protected function getValue() {
        if (($this->data == '0' || !empty($this->data)) && !is_object($this->data)) {
            $value = ($this->parent && is_array($this->data)) ? $this->data[0] : $this->data;
        } else if ($this->options->default == '0' || !empty($this->options->default)) {
            $value = $this->options->default;
        } else if (($this->options->value == '0' || !empty($this->options->value)) && !is_object($this->options->value)) {
            $value = $this->options->value;
        }

        if ($this->options->processValue) {
            $value = call_user_func($this->options->processValue, $value);
        }
        return $value;
    }