Files
server/shared/lib/Resource/Provider/ResourceServiceConfigureInterface.php
2026-02-10 17:47:48 -05:00

63 lines
1.6 KiB
PHP

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: Sebastian Krupinski <krupinski01@gmail.com>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace KTXF\Resource\Provider;
/**
* Resource Service Configurable Interface
*
* Extends base service interface with setter methods for mutable properties.
* Used for service configuration and updates.
*
* @since 2025.05.01
*/
interface ResourceServiceConfigureInterface extends ResourceServiceMutateInterface {
/**
* Sets the location/configuration of this service
*
* @since 2025.05.01
*
* @param ResourceServiceLocationInterface $value Service location/configuration
*
* @return self
*/
public function setLocation(ResourceServiceLocationInterface $value): self;
/**
* Gets a fresh instance of the location/configuration of this service
*
* @since 2025.05.01
*
* @return ResourceServiceLocationInterface
*/
public function freshLocation(string|null $type, array $data = []): ResourceServiceLocationInterface;
/**
* Sets the identity used for this service
*
* @since 2025.05.01
*
* @param ResourceServiceIdentityInterface $value Service identity
*
* @return self
*/
public function setIdentity(ResourceServiceIdentityInterface $value): self;
/**
* Gets a fresh instance of the identity used for this service
*
* @since 2025.05.01
*
* @return ResourceServiceIdentityInterface
*/
public function freshIdentity(string|null $type, array $data = []): ResourceServiceIdentityInterface;
}