1*c3437056SNickeau<?php 2*c3437056SNickeau 3*c3437056SNickeau 4*c3437056SNickeaunamespace ComboStrap; 5*c3437056SNickeau 6*c3437056SNickeau 7*c3437056SNickeau/** 8*c3437056SNickeau * Interface ComboResource 9*c3437056SNickeau * @package ComboStrap 10*c3437056SNickeau * 11*c3437056SNickeau * Not Resource 12*c3437056SNickeau * because 13*c3437056SNickeau * https://www.php.net/manual/en/language.types.resource.php 14*c3437056SNickeau */ 15*c3437056SNickeauinterface ResourceCombo 16*c3437056SNickeau{ 17*c3437056SNickeau 18*c3437056SNickeau public function getReadStoreOrDefault(): MetadataStore; 19*c3437056SNickeau 20*c3437056SNickeau /** 21*c3437056SNickeau * @return Path - a generic path system where the content raw resource is stored 22*c3437056SNickeau * ie the file system url, the dokuwiki url 23*c3437056SNickeau */ 24*c3437056SNickeau public function getPath(): Path; 25*c3437056SNickeau 26*c3437056SNickeau /** 27*c3437056SNickeau * @return mixed - the unique id 28*c3437056SNickeau */ 29*c3437056SNickeau public function getUid(): Metadata; 30*c3437056SNickeau 31*c3437056SNickeau /** 32*c3437056SNickeau * A buster value used in URL 33*c3437056SNickeau * to avoid cache (cache bursting) 34*c3437056SNickeau * 35*c3437056SNickeau * It should be unique for each version of the resource 36*c3437056SNickeau * 37*c3437056SNickeau * @return string 38*c3437056SNickeau */ 39*c3437056SNickeau function getBuster(): string; 40*c3437056SNickeau 41*c3437056SNickeau /** 42*c3437056SNickeau * @return string - the resource type/name 43*c3437056SNickeau * Example for page: page 44*c3437056SNickeau * Used to locate the data in a datastore 45*c3437056SNickeau * The table name for instance 46*c3437056SNickeau */ 47*c3437056SNickeau function getType(): string; 48*c3437056SNickeau 49*c3437056SNickeau /** 50*c3437056SNickeau * @return string - the resource name 51*c3437056SNickeau * (ie {@link ResourceName} 52*c3437056SNickeau */ 53*c3437056SNickeau function getName(): ?string; 54*c3437056SNickeau 55*c3437056SNickeau /** 56*c3437056SNickeau * @return string - the name but not null 57*c3437056SNickeau */ 58*c3437056SNickeau function getNameOrDefault(): string; 59*c3437056SNickeau 60*c3437056SNickeau /** 61*c3437056SNickeau * @return Metadata 62*c3437056SNickeau */ 63*c3437056SNickeau public function getUidObject(); 64*c3437056SNickeau 65*c3437056SNickeau 66*c3437056SNickeau} 67