getADT()->validate($__value); } public function set($__value) { if(TRUE === $this->validate($__value)) { $this->__data = $__value; return $this; } throw new ArgumentExpectedException([ 'target' => get_called_class(), 'expected' => $this->getADT()->__toString(), 'detected' => $t = getType($v = $__value), 'value' => is_object($v) ? get_class($v) : ((is_string($v) && (class_exists($v) || interface_exists($v))) || is_scalar($v)) ? $v : $t ]); } public function get() { return $this->__data; } public function getADT() { return self::$__gc[get_called_class()]; } }