xref: /plugin/combo/ComboStrap/Reference.php (revision 04fd306c7c155fa133ebb3669986875d65988276)
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