1c3437056SNickeau<?php 2c3437056SNickeau 3c3437056SNickeau 4c3437056SNickeaunamespace ComboStrap; 5c3437056SNickeau 6c3437056SNickeau 7c3437056SNickeauuse DateTime; 8c3437056SNickeau 9c3437056SNickeau/** 10c3437056SNickeau 11c3437056SNickeau * @package ComboStrap 12c3437056SNickeau * Represents the wiki path of the page resource 13c3437056SNickeau */ 14c3437056SNickeauclass PagePath extends MetadataWikiPath 15c3437056SNickeau{ 16c3437056SNickeau 17c3437056SNickeau 18c3437056SNickeau 19c3437056SNickeau public const PROPERTY_NAME = "path"; 20c3437056SNickeau 21c3437056SNickeau 22*4cadd4f8SNickeau 23c3437056SNickeau public static function createForPage(ResourceCombo $page): CacheExpirationDate 24c3437056SNickeau { 25c3437056SNickeau return (new CacheExpirationDate()) 26c3437056SNickeau ->setResource($page); 27c3437056SNickeau } 28c3437056SNickeau 29c3437056SNickeau public function getDefaultValue(): ?DateTime 30c3437056SNickeau { 31c3437056SNickeau return null; 32c3437056SNickeau } 33c3437056SNickeau 34c3437056SNickeau public function getValue(): ?string 35c3437056SNickeau { 36c3437056SNickeau return $this->getResource()->getPath()->toString(); 37c3437056SNickeau } 38c3437056SNickeau 39c3437056SNickeau 40c3437056SNickeau static public function getName(): string 41c3437056SNickeau { 42c3437056SNickeau return self::PROPERTY_NAME; 43c3437056SNickeau } 44c3437056SNickeau 45c3437056SNickeau 46c3437056SNickeau public function getPersistenceType(): string 47c3437056SNickeau { 48c3437056SNickeau return Metadata::DERIVED_METADATA; 49c3437056SNickeau } 50c3437056SNickeau 51c3437056SNickeau 52c3437056SNickeau public function getTab(): string 53c3437056SNickeau { 54c3437056SNickeau return MetaManagerForm::TAB_REDIRECTION_VALUE; 55c3437056SNickeau } 56c3437056SNickeau 57c3437056SNickeau public function getDescription(): string 58c3437056SNickeau { 59c3437056SNickeau return "The path of the page on the file system (in wiki format with the colon `:` as path separator)"; 60c3437056SNickeau } 61c3437056SNickeau 62c3437056SNickeau public function getLabel(): string 63c3437056SNickeau { 64c3437056SNickeau return "Page Path"; 65c3437056SNickeau } 66c3437056SNickeau 67c3437056SNickeau public function getMutable(): bool 68c3437056SNickeau { 69c3437056SNickeau return false; 70c3437056SNickeau } 71c3437056SNickeau 72c3437056SNickeau public function getCanonical(): string 73c3437056SNickeau { 74c3437056SNickeau return self::PROPERTY_NAME; 75c3437056SNickeau } 76c3437056SNickeau 77c3437056SNickeau 78c3437056SNickeau} 79