1c3437056SNickeau<?php 2c3437056SNickeau 3c3437056SNickeau 4c3437056SNickeaunamespace ComboStrap; 5c3437056SNickeau 6*04fd306cSNickeauuse ComboStrap\Meta\Api\Metadata; 7*04fd306cSNickeauuse ComboStrap\Meta\Api\MetadataWikiPath; 8*04fd306cSNickeau 9c3437056SNickeau/** 10c3437056SNickeau * Class Reference 11c3437056SNickeau * @package ComboStrap 12c3437056SNickeau * Reference 13c3437056SNickeau * 14c3437056SNickeau * Because they may not exist and this data is derive, we store only the value 15c3437056SNickeau * and not the page id for instance 16c3437056SNickeau */ 17c3437056SNickeauclass Reference extends MetadataWikiPath 18c3437056SNickeau{ 19c3437056SNickeau 204cadd4f8SNickeau 21*04fd306cSNickeau public static function createFromResource(MarkupPath $page) 22c3437056SNickeau { 23c3437056SNickeau return (new Reference()) 24c3437056SNickeau ->setResource($page); 25c3437056SNickeau } 26c3437056SNickeau 27*04fd306cSNickeau static public function getDescription(): string 28c3437056SNickeau { 29c3437056SNickeau return "The path to the internal page"; 30c3437056SNickeau } 31c3437056SNickeau 32*04fd306cSNickeau static public function getLabel(): string 33c3437056SNickeau { 34c3437056SNickeau return "Reference Path"; 35c3437056SNickeau } 36c3437056SNickeau 37c3437056SNickeau public static function getName(): string 38c3437056SNickeau { 39c3437056SNickeau return "reference"; 40c3437056SNickeau } 41c3437056SNickeau 42*04fd306cSNickeau static public function getPersistenceType(): string 43c3437056SNickeau { 44c3437056SNickeau return Metadata::DERIVED_METADATA; 45c3437056SNickeau } 46c3437056SNickeau 47*04fd306cSNickeau static public function isMutable(): bool 48c3437056SNickeau { 49c3437056SNickeau return false; 50c3437056SNickeau } 51c3437056SNickeau 52*04fd306cSNickeau static public function getDrive(): string 53*04fd306cSNickeau { 54*04fd306cSNickeau return WikiPath::MARKUP_DRIVE; 55*04fd306cSNickeau } 56*04fd306cSNickeau 57c3437056SNickeau} 58