From 042474bb12f925ee94ad01f8e1b6120114d055ec Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 26 Sep 2022 11:26:34 +0200 Subject: [PATCH] Add since Signed-off-by: Joas Schilling --- .../Collaboration/Reference/Reference.php | 106 ++++++++++++++++-- 1 file changed, 97 insertions(+), 9 deletions(-) diff --git a/lib/public/Collaboration/Reference/Reference.php b/lib/public/Collaboration/Reference/Reference.php index 59619bdd5d919..07da3399a1e48 100644 --- a/lib/public/Collaboration/Reference/Reference.php +++ b/lib/public/Collaboration/Reference/Reference.php @@ -25,81 +25,147 @@ namespace OCP\Collaboration\Reference; +/** + * @since 25.0.0 + */ class Reference implements IReference { - private string $reference; + protected string $reference; - private bool $accessible = true; + protected bool $accessible = true; - private ?string $title = null; - private ?string $description = null; - private ?string $imageUrl = null; - private ?string $contentType = null; - private ?string $url = null; + protected ?string $title = null; + protected ?string $description = null; + protected ?string $imageUrl = null; + protected ?string $contentType = null; + protected ?string $url = null; - private ?string $richObjectType = null; - private ?array $richObject = null; + protected ?string $richObjectType = null; + protected ?array $richObject = null; + /** + * @since 25.0.0 + */ public function __construct(string $reference) { $this->reference = $reference; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function getId(): string { return $this->reference; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function setAccessible(bool $accessible): void { $this->accessible = $accessible; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function getAccessible(): bool { return $this->accessible; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function setTitle(string $title): void { $this->title = $title; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function getTitle(): string { return $this->title ?? $this->reference; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function setDescription(?string $description): void { $this->description = $description; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function getDescription(): ?string { return $this->description; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function setImageUrl(?string $imageUrl): void { $this->imageUrl = $imageUrl; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function getImageUrl(): ?string { return $this->imageUrl; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function setImageContentType(?string $contentType): void { $this->contentType = $contentType; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function getImageContentType(): ?string { return $this->contentType; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function setUrl(?string $url): void { $this->url = $url; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function getUrl(): ?string { return $this->url; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function setRichObject(string $type, ?array $richObject): void { $this->richObjectType = $type; $this->richObject = $richObject; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function getRichObjectType(): string { if ($this->richObjectType === null) { return 'open-graph'; @@ -107,6 +173,10 @@ public function getRichObjectType(): string { return $this->richObjectType; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function getRichObject(): array { if ($this->richObject === null) { return $this->getOpenGraphObject(); @@ -114,6 +184,10 @@ public function getRichObject(): array { return $this->richObject; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function getOpenGraphObject(): array { return [ 'id' => $this->getId(), @@ -124,6 +198,11 @@ public function getOpenGraphObject(): array { ]; } + /** + * @param IReference $reference + * @return array + * @since 25.0.0 + */ public static function toCache(IReference $reference): array { return [ 'id' => $reference->getId(), @@ -138,6 +217,11 @@ public static function toCache(IReference $reference): array { ]; } + /** + * @param array $cache + * @return IReference + * @since 25.0.0 + */ public static function fromCache(array $cache): IReference { $reference = new Reference($cache['id']); $reference->setTitle($cache['title']); @@ -150,6 +234,10 @@ public static function fromCache(array $cache): IReference { return $reference; } + /** + * @inheritdoc + * @since 25.0.0 + */ public function jsonSerialize() { return [ 'richObjectType' => $this->getRichObjectType(),