_usedProperties['id'] = true; $this->id = $value; return $this; } /** * @default null * @param ParamConfigurator|mixed $value * @return $this */ public function host($value): static { $this->_usedProperties['host'] = true; $this->host = $value; return $this; } /** * @default 9200 * @param ParamConfigurator|mixed $value * @return $this */ public function port($value): static { $this->_usedProperties['port'] = true; $this->port = $value; return $this; } /** * @default 'Http' * @param ParamConfigurator|mixed $value * @return $this */ public function transport($value): static { $this->_usedProperties['transport'] = true; $this->transport = $value; return $this; } /** * @default null * @param ParamConfigurator|mixed $value * @return $this */ public function user($value): static { $this->_usedProperties['user'] = true; $this->user = $value; return $this; } /** * @default null * @param ParamConfigurator|mixed $value * @return $this */ public function password($value): static { $this->_usedProperties['password'] = true; $this->password = $value; return $this; } public function __construct(array $value = []) { if (array_key_exists('id', $value)) { $this->_usedProperties['id'] = true; $this->id = $value['id']; unset($value['id']); } if (array_key_exists('host', $value)) { $this->_usedProperties['host'] = true; $this->host = $value['host']; unset($value['host']); } if (array_key_exists('port', $value)) { $this->_usedProperties['port'] = true; $this->port = $value['port']; unset($value['port']); } if (array_key_exists('transport', $value)) { $this->_usedProperties['transport'] = true; $this->transport = $value['transport']; unset($value['transport']); } if (array_key_exists('user', $value)) { $this->_usedProperties['user'] = true; $this->user = $value['user']; unset($value['user']); } if (array_key_exists('password', $value)) { $this->_usedProperties['password'] = true; $this->password = $value['password']; unset($value['password']); } if ([] !== $value) { throw new InvalidConfigurationException(sprintf('The following keys are not supported by "%s": ', __CLASS__).implode(', ', array_keys($value))); } } public function toArray(): array { $output = []; if (isset($this->_usedProperties['id'])) { $output['id'] = $this->id; } if (isset($this->_usedProperties['host'])) { $output['host'] = $this->host; } if (isset($this->_usedProperties['port'])) { $output['port'] = $this->port; } if (isset($this->_usedProperties['transport'])) { $output['transport'] = $this->transport; } if (isset($this->_usedProperties['user'])) { $output['user'] = $this->user; } if (isset($this->_usedProperties['password'])) { $output['password'] = $this->password; } return $output; } }