private function setType(?string $t) : void
    {
        if ($t === null || $t === "") {
            $msg = "Invalid configuration. The attribute \"type\" is required.";
            throw new \InvalidArgumentException($msg);
        } else {
            if (class_exists($t) === false || $t === "DateTime") {
                $t = "AeonDigital\\SimpleTypes\\d" . $t;
            }

            if (class_exists($t) === false) {
                $msg = "The given \"type\" class does not exists.";
                throw new \InvalidArgumentException($msg);
            } else {
                $this->typeReflection = new \ReflectionClass($t);

                if ($this->isValidSimpleType() === false) {
                    $msg = "The given \"type\" class does not implements the interface \"AeonDigital\\SimpleTypes\\Interfaces\\iSimpleType\".";
                    throw new \InvalidArgumentException($msg);
                }
                $this->type = $t;
            }
        }
    }