1<?php
2
3/**
4 * Represents a directive ID in the interchange format.
5 */
6class HTMLPurifier_ConfigSchema_Interchange_Id
7{
8
9    /**
10     * @type string
11     */
12    public $key;
13
14    /**
15     * @param string $key
16     */
17    public function __construct($key)
18    {
19        $this->key = $key;
20    }
21
22    /**
23     * @return string
24     * @warning This is NOT magic, to ensure that people don't abuse SPL and
25     *          cause problems for PHP 5.0 support.
26     */
27    public function toString()
28    {
29        return $this->key;
30    }
31
32    /**
33     * @return string
34     */
35    public function getRootNamespace()
36    {
37        return substr($this->key, 0, strpos($this->key, "."));
38    }
39
40    /**
41     * @return string
42     */
43    public function getDirective()
44    {
45        return substr($this->key, strpos($this->key, ".") + 1);
46    }
47
48    /**
49     * @param string $id
50     * @return HTMLPurifier_ConfigSchema_Interchange_Id
51     */
52    public static function make($id)
53    {
54        return new HTMLPurifier_ConfigSchema_Interchange_Id($id);
55    }
56}
57
58// vim: et sw=4 sts=4
59