. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Core\Authentication\Login; use Espo\Core\Authentication\AuthToken\AuthToken; use SensitiveParameter; class DataBuilder { private ?string $username = null; private ?string $password = null; private ?AuthToken $authToken = null; public function setUsername(?string $username): self { $this->username = $username; return $this; } public function setPassword(#[SensitiveParameter] ?string $password): self { $this->password = $password; return $this; } public function setAuthToken(?AuthToken $authToken): self { $this->authToken = $authToken; return $this; } public function build(): Data { return new Data($this->username, $this->password, $this->authToken); } }