. * * 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\ORM\Query; use RuntimeException; trait BaseBuilderTrait { /** * Must be protected for compatibility reasons. * * @var array */ protected $params = []; public function __construct() { } private function isEmpty(): bool { return empty($this->params); } private function cloneInternal(Query $query): void { if (!$this->isEmpty()) { throw new RuntimeException("Clone can be called only on a new empty builder instance."); } $this->params = $query->getRaw(); } }