sName = $sName; $this->sType = $sType; } public function GetName(): string { return $this->sName; } public function SetName(string $sName): void { $this->sName = $sName; } public function GetType(): string { return $this->sType; } public function SetType(string $sType): void { $this->sType = $sType; } public function Bind(FormOutput $oFormOutput): void { if($this->sType !== $oFormOutput->GetType()){ throw new FormBlockIOException('Cannot connect input types incompatibles ' . $this->sName . ' to ' . $sOutputBlock->GetName() . ' ' . $sOutputName); } $this->oBinding = new FormBinding($this, $oFormOutput); } public function GetBinding(): FormBinding { return $this->oBinding; } public function IsDataReady(string $sEventType): bool { return $this->oBinding->oOutput->HasValue($sEventType); } public function IsConnected(): bool { return $this->oBinding !== null; } }