. * * 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\Tools\Attachment; use Espo\Core\Exceptions\Error; /** * Immutable. */ class FieldData { private string $field; private ?string $parentType; private ?string $relatedType; /** * @throws Error */ public function __construct( string $field, ?string $parentType, ?string $relatedType ) { $this->field = $field; $this->parentType = $parentType; $this->relatedType = $relatedType; if (!$parentType && !$relatedType) { throw new Error("No parentType and relatedType."); } } public function getField(): string { return $this->field; } public function getParentType(): ?string { return $this->parentType; } public function getRelatedType(): ?string { return $this->relatedType; } }