xref: /plugin/combo/ComboStrap/Meta/Field/AliasPath.php (revision 04fd306c7c155fa133ebb3669986875d65988276)
1*04fd306cSNickeau<?php
2*04fd306cSNickeau
3*04fd306cSNickeau
4*04fd306cSNickeaunamespace ComboStrap\Meta\Field;
5*04fd306cSNickeau
6*04fd306cSNickeau
7*04fd306cSNickeauuse ComboStrap\DataType;
8*04fd306cSNickeauuse ComboStrap\Meta\Api\MetadataWikiPath;
9*04fd306cSNickeauuse ComboStrap\WikiPath;
10*04fd306cSNickeau
11*04fd306cSNickeauclass AliasPath extends MetadataWikiPath
12*04fd306cSNickeau{
13*04fd306cSNickeau
14*04fd306cSNickeau    public const PERSISTENT_NAME = "path";
15*04fd306cSNickeau    const PROPERTY_NAME = "alias-path";
16*04fd306cSNickeau
17*04fd306cSNickeau    static public function getDescription(): string
18*04fd306cSNickeau    {
19*04fd306cSNickeau        return "The path of the alias";
20*04fd306cSNickeau    }
21*04fd306cSNickeau
22*04fd306cSNickeau    static public function getLabel(): string
23*04fd306cSNickeau    {
24*04fd306cSNickeau        return "Alias Path";
25*04fd306cSNickeau    }
26*04fd306cSNickeau
27*04fd306cSNickeau    public static function getName(): string
28*04fd306cSNickeau    {
29*04fd306cSNickeau        return self::PROPERTY_NAME;
30*04fd306cSNickeau    }
31*04fd306cSNickeau
32*04fd306cSNickeau    public static function getPersistentName(): string
33*04fd306cSNickeau    {
34*04fd306cSNickeau        return self::PERSISTENT_NAME;
35*04fd306cSNickeau    }
36*04fd306cSNickeau
37*04fd306cSNickeau
38*04fd306cSNickeau    static public function getPersistenceType(): string
39*04fd306cSNickeau    {
40*04fd306cSNickeau        return DataType::TEXT_TYPE_VALUE;
41*04fd306cSNickeau    }
42*04fd306cSNickeau
43*04fd306cSNickeau    static public function isMutable(): bool
44*04fd306cSNickeau    {
45*04fd306cSNickeau        return true;
46*04fd306cSNickeau    }
47*04fd306cSNickeau
48*04fd306cSNickeau    static public function getDrive(): string
49*04fd306cSNickeau    {
50*04fd306cSNickeau        return WikiPath::MARKUP_DRIVE;
51*04fd306cSNickeau    }
52*04fd306cSNickeau
53*04fd306cSNickeau
54*04fd306cSNickeau    public static function createForParent(Aliases $parent): AliasPath
55*04fd306cSNickeau    {
56*04fd306cSNickeau        return new AliasPath($parent);
57*04fd306cSNickeau    }
58*04fd306cSNickeau}
59