36 lines
1.0 KiB
PHP
36 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace Psr\Link;
|
|
|
|
/**
|
|
* An evolvable link provider value object.
|
|
*/
|
|
interface EvolvableLinkProviderInterface extends LinkProviderInterface
|
|
{
|
|
/**
|
|
* Returns an instance with the specified link included.
|
|
*
|
|
* If the specified link is already present, this method MUST return normally
|
|
* without errors. The link is present if $link is === identical to a link
|
|
* object already in the collection.
|
|
*
|
|
* @param LinkInterface $link
|
|
* A link object that should be included in this collection.
|
|
* @return static
|
|
*/
|
|
public function withLink(LinkInterface $link);
|
|
|
|
/**
|
|
* Returns an instance with the specifed link removed.
|
|
*
|
|
* If the specified link is not present, this method MUST return normally
|
|
* without errors. The link is present if $link is === identical to a link
|
|
* object already in the collection.
|
|
*
|
|
* @param LinkInterface $link
|
|
* The link to remove.
|
|
* @return static
|
|
*/
|
|
public function withoutLink(LinkInterface $link);
|
|
}
|