appId = $appId; $this->actionName = $actionName; $this->fileExtension = $fileExtension; } /** * @since 21.0.0 */ public function getAppId(): string { return $this->appId; } /** * @since 21.0.0 * @deprecated 29.0.0 */ public function setIconClass(string $iconClass): TemplateFileCreator { $this->iconClass = $iconClass; return $this; } /** * @since 29.0.0 */ public function setIconSvgInline(string $iconSvgInline): TemplateFileCreator { $this->iconSvgInline = $iconSvgInline; return $this; } /** * @since 21.0.0 */ public function addMimetype(string $mimetype): TemplateFileCreator { $this->mimetypes[] = $mimetype; return $this; } /** * @since 21.0.0 */ public function getMimetypes(): array { return $this->mimetypes; } /** * @since 21.0.0 */ public function setRatio(float $ratio): TemplateFileCreator { $this->ratio = $ratio; return $this; } /** * @param int $order order in which the create action shall be listed * @since 21.0.0 */ public function setOrder(int $order): TemplateFileCreator { $this->order = $order; return $this; } /** * @since 21.0.0 */ public function getOrder(): int { return $this->order; } /** * @since 27.0.0 */ public function setActionLabel(string $actionLabel): TemplateFileCreator { $this->actionLabel = $actionLabel; return $this; } /** * @since 27.0.0 */ public function getActionLabel(): string { return $this->actionLabel; } /** * @since 21.0.0 * @return array{app: string, label: string, extension: string, iconClass: ?string, iconSvgInline: ?string, mimetypes: string[], ratio: ?float, actionLabel: string} */ public function jsonSerialize(): array { return [ 'app' => $this->appId, 'label' => $this->actionName, 'extension' => $this->fileExtension, 'iconClass' => $this->iconClass, 'iconSvgInline' => $this->iconSvgInline, 'mimetypes' => $this->mimetypes, 'ratio' => $this->ratio, 'actionLabel' => $this->actionLabel, ]; } }