* SPDX-License-Identifier: AGPL-3.0-or-later */ namespace KTXF\Mail\Collection; use KTXF\Resource\Identifier\CollectionIdentifier; use KTXF\Resource\Provider\Node\NodeBaseAbstract; /** * Abstract Mail Collection Base Class * * Provides common implementation for mail collections * * @since 2025.05.01 */ abstract class CollectionBase extends NodeBaseAbstract implements CollectionBaseInterface { protected string $type = 'mail.collection'; protected CollectionPropertiesBaseAbstract $properties; protected function nodeIdentifier(): CollectionIdentifier { return new CollectionIdentifier($this->data[static::PROPERTY_PROVIDER], $this->data[static::PROPERTY_SERVICE], (string) $this->data[static::PROPERTY_IDENTIFIER]); } /** * @inheritDoc */ public function getProperties(): CollectionPropertiesBaseInterface { return $this->properties; } }