1<?php
2
3class HTMLPurifier_DefinitionCache_Decorator extends HTMLPurifier_DefinitionCache
4{
5
6    /**
7     * Cache object we are decorating
8     * @type HTMLPurifier_DefinitionCache
9     */
10    public $cache;
11
12    /**
13     * The name of the decorator
14     * @var string
15     */
16    public $name;
17
18    public function __construct()
19    {
20    }
21
22    /**
23     * Lazy decorator function
24     * @param HTMLPurifier_DefinitionCache $cache Reference to cache object to decorate
25     * @return HTMLPurifier_DefinitionCache_Decorator
26     */
27    public function decorate(&$cache)
28    {
29        $decorator = $this->copy();
30        // reference is necessary for mocks in PHP 4
31        $decorator->cache =& $cache;
32        $decorator->type = $cache->type;
33        return $decorator;
34    }
35
36    /**
37     * Cross-compatible clone substitute
38     * @return HTMLPurifier_DefinitionCache_Decorator
39     */
40    public function copy()
41    {
42        return new HTMLPurifier_DefinitionCache_Decorator();
43    }
44
45    /**
46     * @param HTMLPurifier_Definition $def
47     * @param HTMLPurifier_Config $config
48     * @return mixed
49     */
50    public function add($def, $config)
51    {
52        return $this->cache->add($def, $config);
53    }
54
55    /**
56     * @param HTMLPurifier_Definition $def
57     * @param HTMLPurifier_Config $config
58     * @return mixed
59     */
60    public function set($def, $config)
61    {
62        return $this->cache->set($def, $config);
63    }
64
65    /**
66     * @param HTMLPurifier_Definition $def
67     * @param HTMLPurifier_Config $config
68     * @return mixed
69     */
70    public function replace($def, $config)
71    {
72        return $this->cache->replace($def, $config);
73    }
74
75    /**
76     * @param HTMLPurifier_Config $config
77     * @return mixed
78     */
79    public function get($config)
80    {
81        return $this->cache->get($config);
82    }
83
84    /**
85     * @param HTMLPurifier_Config $config
86     * @return mixed
87     */
88    public function remove($config)
89    {
90        return $this->cache->remove($config);
91    }
92
93    /**
94     * @param HTMLPurifier_Config $config
95     * @return mixed
96     */
97    public function flush($config)
98    {
99        return $this->cache->flush($config);
100    }
101
102    /**
103     * @param HTMLPurifier_Config $config
104     * @return mixed
105     */
106    public function cleanup($config)
107    {
108        return $this->cache->cleanup($config);
109    }
110}
111
112// vim: et sw=4 sts=4
113