type = $type; $this->adapter = $adapter; $this->buildSchema = $buildSchema; } public function getType(): string { return $this->type; } public function getAdapter(): AdapterInterface { return $this->adapter; } public function getSchema(): Builder { if (! $this->schema) { $this->schema = new Builder; if ($this->buildSchema) { ($this->buildSchema)($this->schema); } } return $this->schema; } }