blob: bc4fe7d3cbd3aa51c1b1b693fb023de8d3e7a674 [file] [log] [blame]
<?xml version="1.0" encoding="windows-1252"?>
<XMI xmi.version="1.1" xmlns:UML="omg.org/UML1.3" timestamp="2005-08-19 11:55:44">
<XMI.header>
<XMI.documentation>
<XMI.exporter>Enterprise Architect</XMI.exporter>
<XMI.exporterVersion>2.5</XMI.exporterVersion>
</XMI.documentation>
</XMI.header>
<XMI.content>
<UML:Model name="EA Model" xmi.id="MX_EAID_55737587_783C_4413_85E9_DD98E5BE26FF">
<UML:Namespace.ownedElement>
<UML:Class name="EARootClass" xmi.id="EAID_11111111_5487_4080_A7F4_41526CB0AA00" isRoot="true" isLeaf="false" isAbstract="false"/>
<UML:Package name="Cache" xmi.id="EAPK_55737587_783C_4413_85E9_DD98E5BE26FF" isRoot="false" isLeaf="false" isAbstract="false" visibility="public">
<UML:ModelElement.stereotype>
<UML:Stereotype xmi.idref="EAID_71685A4E_1CBD_4a1f_95EB_C545C4870EC4"/>
</UML:ModelElement.stereotype>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="created" value="2005-08-18 00:00:00"/>
<UML:TaggedValue tag="modified" value="2005-08-18 00:00:00"/>
<UML:TaggedValue tag="iscontrolled" value="TRUE"/>
<UML:TaggedValue tag="xmlpath" value="E:\src\ezcomponents\packages\Cache\trunk\design\cache.xml"/>
<UML:TaggedValue tag="lastsavedate" value="2005-08-19 11:55:44"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="isprotected" value="FALSE"/>
<UML:TaggedValue tag="usedtd" value="FALSE"/>
<UML:TaggedValue tag="owner" value="Jan Borsodi"/>
<UML:TaggedValue tag="xmiver" value="Enterprise Architect XMI/UML 1.3"/>
<UML:TaggedValue tag="logxml" value="FALSE"/>
<UML:TaggedValue tag="codepath" value="E:\src\ezcomponents\packages\Cache\trunk\src"/>
<UML:TaggedValue tag="packageFlags" value="CRC=0;"/>
<UML:TaggedValue tag="batchsave" value="0"/>
<UML:TaggedValue tag="batchload" value="0"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="author" value="Tobias Schlitt"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="stereotype" value="ezcomponent"/>
<UML:TaggedValue tag="ea_stype" value="Public"/>
<UML:TaggedValue tag="tpos" value="0"/>
</UML:ModelElement.taggedValue>
<UML:Namespace.ownedElement>
<UML:Collaboration xmi.id="EAID_55737587_783C_4413_85E9_DD98E5BE26FF_Collaboration" name="Collaborations">
<UML:Namespace.ownedElement>
<UML:ClassifierRole name="cache" xmi.id="EAID_3306DFAE_BAD4_442f_B464_5362CC2A97E7" visibility="public" base="EAID_11111111_5487_4080_A7F4_41526CB0AA00">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Package"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="package" value="EAPK_55737587_783C_4413_85E9_DD98E5BE26FF"/>
<UML:TaggedValue tag="date_created" value="2005-08-18 14:14:39"/>
<UML:TaggedValue tag="date_modified" value="2005-08-18 14:14:39"/>
<UML:TaggedValue tag="gentype" value="PHP"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package2" value="EAID_3306DFAE_BAD4_442f_B464_5362CC2A97E7"/>
<UML:TaggedValue tag="package_name" value="Cache"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="Jan Borsodi"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
</UML:ClassifierRole>
</UML:Namespace.ownedElement>
<UML:Collaboration.interaction/>
</UML:Collaboration>
<UML:Comment xmi.id="EAID_5B8CF78A_B04C_415b_B2A7_3BD24BDC3CFB" visibility="public" namespace="EAPK_55737587_783C_4413_85E9_DD98E5BE26FF">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Text"/>
<UML:TaggedValue tag="ea_ntype" value="18"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="package" value="EAPK_55737587_783C_4413_85E9_DD98E5BE26FF"/>
<UML:TaggedValue tag="date_created" value="2005-08-18 14:15:23"/>
<UML:TaggedValue tag="date_modified" value="2005-08-18 14:15:23"/>
<UML:TaggedValue tag="gentype" value="&lt;none&gt;"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="Cache"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="Jan Borsodi"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
</UML:Comment>
<UML:Package name="cache" xmi.id="EAPK_3306DFAE_BAD4_442f_B464_5362CC2A97E7" isRoot="false" isLeaf="false" isAbstract="false" visibility="public">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="created" value="2005-08-18 00:00:00"/>
<UML:TaggedValue tag="modified" value="2005-08-18 00:00:00"/>
<UML:TaggedValue tag="iscontrolled" value="FALSE"/>
<UML:TaggedValue tag="isprotected" value="FALSE"/>
<UML:TaggedValue tag="usedtd" value="FALSE"/>
<UML:TaggedValue tag="logxml" value="FALSE"/>
<UML:TaggedValue tag="codepath" value="E:\src\ezcomponents\packages\Cache\trunk\src\cache"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="author" value="Jan Borsodi"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="ea_stype" value="Public"/>
</UML:ModelElement.taggedValue>
<UML:Namespace.ownedElement>
<UML:Class name="ezcCacheManager" xmi.id="EAID_126456B6_DE85_4074_8E75_F107D948AEED" visibility="public" namespace="EAPK_3306DFAE_BAD4_442f_B464_5362CC2A97E7" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Class to manage multiple ezcCacheStorage objects at once. Implements singleton for caches which access a certain location The usage of this class is not mandatory, but recommended. ezcCacheStorage objects can also be used on their own.
&lt;code&gt; Global configuration $options = array( 'ttl' =&gt; 60*60*24*2, // Default would be 1 day, here 2 days ); CacheManager::createCache('content', '/var/cache/content', 'ezcCacheStorageView', $options); CacheManager::createCache('template', '/var/cache/templates', 'ezcCacheStorageTemplate', $options); Somewhere in the application $cache = CacheManager::getCache('content'); $attributes = array('node' =&gt; 2, 'area' =&gt; 'admin', 'lang' =&gt; 'en-GB'); $id = getUniqueId(); $data = ''; Check if data is available in the cache if (!($data = $cache-&gt;restore($id, $attributes))) { No, so create data... $data = generateMyData(); ... and store it inside the cache $cache-&gt;store($id, $attributes, $data); } Somewhere else... $cache = CacheManager::getCache('template'); Remove all cache blocks of node 2 $cache-&gt;delete(null, array('node' =&gt; 2));
&lt;/code&gt;
@package Cache
@link http://www.gnu.org/copyleft/lesser.html}"/>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Class"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="//autogen//
@copyright Copyright (C) 2005 eZ syst"/>
<UML:TaggedValue tag="package" value="EAPK_3306DFAE_BAD4_442f_B464_5362CC2A97E7"/>
<UML:TaggedValue tag="date_created" value="2005-08-18 14:14:40"/>
<UML:TaggedValue tag="date_modified" value="2005-08-19 11:35:10"/>
<UML:TaggedValue tag="genfile" value="E:\src\ezcomponents\packages\Cache\trunk\src\cache\manager.php"/>
<UML:TaggedValue tag="gentype" value="PHP"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="cache"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="Jan Borsodi"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="eventflags" value="LNK=9560;"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
<UML:Classifier.feature>
<UML:Attribute name="caches" changeable="none" visibility="private" ownerScope="instance" targetScope="instance">
<UML:Attribute.initialValue>
<UML:Expression/>
</UML:Attribute.initialValue>
<UML:StructuralFeature.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:StructuralFeature.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="description" value="Keeps track of the ezcCacheStorage instances. Each cache is created only once per request on the first time it is accessed. Until then, only it's configuration is stored in the {@link ezcCacheManager::$configurations} array.
@var array(ezcCacheStorage)"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="collection" value="false"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="lowerBound" value="1"/>
<UML:TaggedValue tag="upperBound" value="1"/>
<UML:TaggedValue tag="ea_guid" value="{6EA9F362-829B-4840-9A6A-F5483ACB2B56}"/>
<UML:TaggedValue tag="styleex" value="volatile=0;"/>
</UML:ModelElement.taggedValue>
</UML:Attribute>
<UML:Attribute name="configurations" changeable="none" visibility="private" ownerScope="instance" targetScope="instance">
<UML:Attribute.initialValue>
<UML:Expression/>
</UML:Attribute.initialValue>
<UML:StructuralFeature.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:StructuralFeature.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="description" value="ezcCacheStorage configurations Storage to keep track of ezcCacheStorage configurations. For each configured cache the configuration is initially stored here. {@link ezcCacheStorage} objects are created on first access.
@var array(string)"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="collection" value="false"/>
<UML:TaggedValue tag="position" value="1"/>
<UML:TaggedValue tag="lowerBound" value="1"/>
<UML:TaggedValue tag="upperBound" value="1"/>
<UML:TaggedValue tag="ea_guid" value="{E3F47157-BE61-42b7-B453-5132A194740C}"/>
<UML:TaggedValue tag="styleex" value="volatile=0;"/>
</UML:ModelElement.taggedValue>
</UML:Attribute>
<UML:Operation name="__construct" visibility="private" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Private. This is a static class only.
@see {ezcCacheManager::createCache()}
@see {ezcCacheManager::getCache()}"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{087BE55C-331D-43de-AF66-71BE778775F5}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-331D-43de-AF66-71BE778775F5}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="createCache" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Creates a new cache in the manager. This method is used to create a new cache inside the manager. Each cache has a unique ID to access it during the application runtime. Each location may only be used by 1 cache. The $storageClass parameter musst be a subclass of {@link ezcCacheStorage} and tells the manager which object will be used for the cache. The $location parameter depends on the kind of {@link ezcCacheStorage} used for the cache you create. Usually this is a directory on your file system, but may also be e.g. a data source name, if you cache in a database or similar. The $options array consists of several standard attributes and can additionally contain options defined by the {@link ezcCacheStorage} class. Standard options are:
&lt;code&gt; array( 'ttl' =&gt; 60*60*24, // Time-to-life, default: 1 day );
&lt;/code&gt;
@param string $id ID of the cache to create.
@param string $location Location to create the cache in.
@param string $storageClass Subclass of {@link ezcCacheStorage}.
@param array(string) $options Options for the cache.
@see ezcCacheManagerException::CODE_INVALID_STORAGE_CLASS
@see ezcCacheManagerException::CODE_USED_LOCATION"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="1"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{7672B811-8647-4efa-A8B9-863E17FFDC2E}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-8647-4efa-A8B9-863E17FFDC2E}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{86042DA0-DB4F-4d09-9FE2-822833B2AC2F}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="location" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{AD03C085-AD9E-41b3-9E15-E3C3BDCF19E3}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="storageClass" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="2"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{2884DB34-EB86-4161-A66D-1D098D6D81D4}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="options" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="3"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{8A45CCAF-A16E-47c6-8A89-1376EA71D517}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="getCache" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Returns the ezcCacheStorage object with the given ID. The cache ID has to be defined before using the {@link ezcCacheManager::createCache()} method. If no instance of this cache does exist yet, it's created on the fly. If one exists, it will be reused.
@param string $id The ID of the cache to return.
@return ezcCacheStorage The cache with the given ID.
@see ezcCacheManagerException::CODE_INVALID_ID"/>
<UML:TaggedValue tag="type" value="ezcCacheStorage"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="static" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="2"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{0598F7A2-ED13-46e4-9AB0-A00AE679840D}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="EAID_47E4123F_74E9_44a8_8F44_E6C39F48D45E"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="ezcCacheStorage"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="classifier" value="EAID_47E4123F_74E9_44a8_8F44_E6C39F48D45E"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-ED13-46e4-9AB0-A00AE679840D}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{E81E8F26-A381-4639-8713-8F6E124E3DA7}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
</UML:Classifier.feature>
</UML:Class>
<UML:Association xmi.id="EAID_7A41512C_B28E_4bac_A6EC_FBA82A283314" visibility="public" isRoot="false" isLeaf="false" isAbstract="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="style" value="2"/>
<UML:TaggedValue tag="ea_type" value="Aggregation"/>
<UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
<UML:TaggedValue tag="linemode" value="2"/>
<UML:TaggedValue tag="linecolor" value="-1"/>
<UML:TaggedValue tag="linewidth" value="0"/>
<UML:TaggedValue tag="seqno" value="0"/>
<UML:TaggedValue tag="subtype" value="Strong"/>
<UML:TaggedValue tag="headStyle" value="0"/>
<UML:TaggedValue tag="lineStyle" value="0"/>
<UML:TaggedValue tag="privatedata5" value="EDGE=1;SX=0;SY=0;EX=-1;EY=0;"/>
<UML:TaggedValue tag="virtualInheritance" value="0"/>
<UML:TaggedValue tag="lb" value="*"/>
<UML:TaggedValue tag="rb" value="1.."/>
<UML:TaggedValue tag="rt" value="-caches"/>
</UML:ModelElement.taggedValue>
<UML:Association.connection>
<UML:AssociationEnd visibility="public" multiplicity="*" aggregation="none" isOrdered="false" isNavigable="false" type="EAID_47E4123F_74E9_44a8_8F44_E6C39F48D45E">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="containment" value="Unspecified"/>
</UML:ModelElement.taggedValue>
</UML:AssociationEnd>
<UML:AssociationEnd visibility="private" multiplicity="1.." name="caches" aggregation="composite" isOrdered="false" isNavigable="true" type="EAID_126456B6_DE85_4074_8E75_F107D948AEED">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="containment" value="Unspecified"/>
</UML:ModelElement.taggedValue>
</UML:AssociationEnd>
</UML:Association.connection>
</UML:Association>
<UML:Class name="ezcCacheStorage" xmi.id="EAID_47E4123F_74E9_44a8_8F44_E6C39F48D45E" visibility="public" namespace="EAPK_3306DFAE_BAD4_442f_B464_5362CC2A97E7" isRoot="false" isLeaf="false" isAbstract="true" isActive="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="This is the abstract base class for all cache storages. It provides the interface to be implemented by a cache backend as well as some convenience methods every of these have in common. It is not recommended to use a cache object directly, but to utilize the {@link ezcCacheManager}. For example code see {@link ezcCacheManager}.
@package Cache
@link http://www.gnu.org/copyleft/lesser.html}"/>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Class"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="//autogen//
@copyright Copyright (C) 2005 eZ syst"/>
<UML:TaggedValue tag="package" value="EAPK_3306DFAE_BAD4_442f_B464_5362CC2A97E7"/>
<UML:TaggedValue tag="date_created" value="2005-08-18 14:14:40"/>
<UML:TaggedValue tag="date_modified" value="2005-08-18 14:14:40"/>
<UML:TaggedValue tag="genfile" value="E:\src\ezcomponents\packages\Cache\trunk\src\cache\storage.php"/>
<UML:TaggedValue tag="gentype" value="PHP"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="cache"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="Jan Borsodi"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="eventflags" value="LNK=9560;OPN=db02;"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
<UML:Classifier.feature>
<UML:Attribute name="location" changeable="none" visibility="protected" ownerScope="instance" targetScope="instance">
<UML:Attribute.initialValue>
<UML:Expression/>
</UML:Attribute.initialValue>
<UML:StructuralFeature.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:StructuralFeature.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="description" value="The location the cache resides in.
@var string"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="collection" value="false"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="lowerBound" value="1"/>
<UML:TaggedValue tag="upperBound" value="1"/>
<UML:TaggedValue tag="ea_guid" value="{14D31EB4-E49B-41de-AD8D-E3884F5A9811}"/>
<UML:TaggedValue tag="styleex" value="volatile=0;"/>
</UML:ModelElement.taggedValue>
</UML:Attribute>
<UML:Attribute name="options" changeable="none" visibility="protected" ownerScope="instance" targetScope="instance">
<UML:Attribute.initialValue>
<UML:Expression body="array()"/>
</UML:Attribute.initialValue>
<UML:StructuralFeature.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:StructuralFeature.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="description" value="Options for the cache storage. Depends on the specific implementation of the ezcCacheStorage. Options available for all implementations are:
&lt;code&gt; array( 'ttl' =&gt; 60*60*24, // 24hrs Time-To-Life );
&lt;/code&gt;
@var array"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="collection" value="false"/>
<UML:TaggedValue tag="position" value="1"/>
<UML:TaggedValue tag="lowerBound" value="1"/>
<UML:TaggedValue tag="upperBound" value="1"/>
<UML:TaggedValue tag="ea_guid" value="{168658EB-CA76-42d2-9694-A9A28C93ABB5}"/>
<UML:TaggedValue tag="styleex" value="volatile=0;"/>
</UML:ModelElement.taggedValue>
</UML:Attribute>
<UML:Operation name="__construct" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Creates a new cache storage in the given location. Creates a new cache storage for a given location. The location can differ for each ezcCacheStorage implementation, but will most likely be a filesystem path to a directory where cache data is stored in. Per default there is only 1 common option for all ezcCacheStorage classes, which is the 'ttl' (Time-To-Life). This is per default set to 1 day. Specific ezcCacheStorage implementations can have additional options.
@param string $location Path to the cache location
@param array(string) $options Options
@see ezcCacheStorageException::CODE_LOCATION_NOT_AVAILABLE
@see ezcCacheStorageException::CODE_LOCATION_NOT_WRITEABLE"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{264B99B3-3D76-4976-81A8-8C45ED02958F}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid3"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-3D76-4976-81A8-8C45ED02958F}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="location" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{E3772AA3-A91A-4736-8CE2-940A96A41E80}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="options" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{A6235C31-ECCD-488d-AC17-40E25FE1D3B0}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="store" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Store data to the cache storage. This methode stores the given cache data into the cache, assigning the ID given to it. The type of cache data which is expected by a ezcCacheStorage depends on it's implementation. In most cases strings and arrays will be accepted, in some rare cases only strings might be accepted. Using attributes you can describe your cache data further. This allows you to deal with multiple cache data at once later. Some ezcCacheStorage implementations also use the attributes for storage purposes. Attributes form some kind of &quot;extended ID&quot;.
@param string $id The unique identifier for the data stored.
@param mixed $data The data to store.
@param array $attributes Attributes that describe the cached data.
@return string The ID of the newly cached data. "/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="isAbstract" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="1"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{5A868A6F-44DB-4241-B195-D4BFAA3F9E19}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-44DB-4241-B195-D4BFAA3F9E19}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{560A02CE-A782-4d2e-AD63-96C2D81F39D2}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="data" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid4"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="mixed"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{ACDF97DA-499B-4c81-8595-59C296F4A79A}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="2"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{9AC16FAB-A588-4b7c-A278-B33CFE942CE5}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="restore" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Restore data from the cache. Restores the data associated with the given cache and returns it. Please see {@link ezcCacheStorage::store()} for more detailed information of cachable datatypes. During access to cached data the caches are automatically expired. This means, that the ezcCacheStorage object checks before returning the data if it's still actual. If the cache has expired, data will be deleted and false is returned. You should always provide the attributes you assigned, although the cache storages must be able to find a cache ID even without them. BEWARE: Finding cache data only by ID can be much slower than finding it by ID and attributes.
@param string $id The cache ID to restore data from.
@param array $attributes Attributed describing the data to restore.
@return mixed The cached data on success, otherwise false."/>
<UML:TaggedValue tag="type" value="mixed"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="isAbstract" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="2"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{6970E58A-62FB-4cd2-907F-D48E92FCFE12}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid4"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="mixed"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-62FB-4cd2-907F-D48E92FCFE12}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{3111D13B-9A7E-401d-BF2C-56DB336A7F17}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{0542AFE3-98FA-4d81-8F84-A5A80141654C}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="delete" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Delete data from the cache. Purges the cached data for a given ID and or attributes. Using an ID purges only the cache data for just this ID. Additional attributes provided will matched additionally. This can give you an immense speed improvement against just searching for ID (see {@link ezcCacheStorage::restore()}). If you only provide attributes for deletion of cache data, all cache data matching these attributes will be purged.
@param string $id The ID of the data to purge.
@param array $attributes Attributes describing the data to purge.
@return void"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="isAbstract" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="3"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{6A666E8D-F16F-4868-A54D-3A38512E73C1}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid3"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-F16F-4868-A54D-3A38512E73C1}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{690CCEE1-6B56-4a38-957F-CC600035657F}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{00D97F7F-2DE8-4e9f-A672-81F90D4CB4EF}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="hasData" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Return if cache data is available. This method determines if cache data described by the given ID and/or attributes exists. It returns the number of cache data items found.
@param string $id The ID of the cache data.
@param array $attributes Attributes to describe the data.
@return int The number of cache data items found matching the criteria."/>
<UML:TaggedValue tag="type" value="int"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="isAbstract" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="4"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{16B0CD8C-EA92-4470-80DD-DE8787E78917}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid5"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="int"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-EA92-4470-80DD-DE8787E78917}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{63362008-5B1B-4e85-8A4B-7E6EDE8FAF2E}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{5FE9B9C1-B846-4604-BC14-BA84E1E12F70}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
</UML:Classifier.feature>
</UML:Class>
<UML:Generalization subtype="EAID_8D5078C6_8636_44ad_B9A5_DC00BABCC70B" supertype="EAID_47E4123F_74E9_44a8_8F44_E6C39F48D45E" xmi.id="EAID_6E515B41_A4FC_480a_8EEF_7D35E49FFD71" visibility="public">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="style" value="2"/>
<UML:TaggedValue tag="ea_type" value="Generalization"/>
<UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
<UML:TaggedValue tag="linemode" value="2"/>
<UML:TaggedValue tag="linecolor" value="-1"/>
<UML:TaggedValue tag="linewidth" value="0"/>
<UML:TaggedValue tag="seqno" value="0"/>
<UML:TaggedValue tag="headStyle" value="0"/>
<UML:TaggedValue tag="lineStyle" value="0"/>
<UML:TaggedValue tag="src_visibility" value="Public"/>
<UML:TaggedValue tag="src_aggregation" value="0"/>
<UML:TaggedValue tag="src_isOrdered" value="false"/>
<UML:TaggedValue tag="src_isNavigable" value="false"/>
<UML:TaggedValue tag="src_containment" value="Unspecified"/>
<UML:TaggedValue tag="dst_visibility" value="Public"/>
<UML:TaggedValue tag="dst_aggregation" value="0"/>
<UML:TaggedValue tag="dst_isOrdered" value="false"/>
<UML:TaggedValue tag="dst_isNavigable" value="true"/>
<UML:TaggedValue tag="dst_containment" value="Unspecified"/>
<UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={92FB7F06-A212-4747-80C2-010057A0F9EB}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={6E515B41-A4FC-480a-8EEF-7D35E49FFD71}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;$XREFPROP=$XID={A9C2996C-09D0-452b-B5BA-686DD56B3B6A}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={6E515B41-A4FC-480a-8EEF-7D35E49FFD71}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
<UML:TaggedValue tag="privatedata5" value="EDGE=1;"/>
<UML:TaggedValue tag="virtualInheritance" value="0"/>
</UML:ModelElement.taggedValue>
</UML:Generalization>
<UML:Generalization subtype="EAID_6DB9DECC_0845_4da5_9616_4A4BF4CAB731" supertype="EAID_47E4123F_74E9_44a8_8F44_E6C39F48D45E" xmi.id="EAID_6F024EA7_8CCF_49a3_8CAA_ADCA02752929" visibility="public">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="style" value="3"/>
<UML:TaggedValue tag="ea_type" value="Generalization"/>
<UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
<UML:TaggedValue tag="linemode" value="3"/>
<UML:TaggedValue tag="linecolor" value="-1"/>
<UML:TaggedValue tag="linewidth" value="0"/>
<UML:TaggedValue tag="seqno" value="0"/>
<UML:TaggedValue tag="headStyle" value="0"/>
<UML:TaggedValue tag="lineStyle" value="0"/>
<UML:TaggedValue tag="src_visibility" value="Public"/>
<UML:TaggedValue tag="src_aggregation" value="0"/>
<UML:TaggedValue tag="src_isOrdered" value="false"/>
<UML:TaggedValue tag="src_isNavigable" value="false"/>
<UML:TaggedValue tag="src_containment" value="Unspecified"/>
<UML:TaggedValue tag="dst_visibility" value="Public"/>
<UML:TaggedValue tag="dst_aggregation" value="0"/>
<UML:TaggedValue tag="dst_isOrdered" value="false"/>
<UML:TaggedValue tag="dst_isNavigable" value="true"/>
<UML:TaggedValue tag="dst_containment" value="Unspecified"/>
<UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={94994A5A-FD44-4cde-942E-8601B0648214}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={6F024EA7-8CCF-49a3-8CAA-ADCA02752929}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
<UML:TaggedValue tag="virtualInheritance" value="0"/>
</UML:ModelElement.taggedValue>
</UML:Generalization>
<UML:Generalization subtype="EAID_12AEEF68_D0FF_4a54_8542_6BD59BD93CC8" supertype="EAID_47E4123F_74E9_44a8_8F44_E6C39F48D45E" xmi.id="EAID_C944BF2D_EEA3_4347_9AA2_7AA241BD6750" visibility="public">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="style" value="3"/>
<UML:TaggedValue tag="ea_type" value="Generalization"/>
<UML:TaggedValue tag="direction" value="Source -&gt; Destination"/>
<UML:TaggedValue tag="linemode" value="3"/>
<UML:TaggedValue tag="linecolor" value="-1"/>
<UML:TaggedValue tag="linewidth" value="0"/>
<UML:TaggedValue tag="seqno" value="0"/>
<UML:TaggedValue tag="headStyle" value="0"/>
<UML:TaggedValue tag="lineStyle" value="0"/>
<UML:TaggedValue tag="src_visibility" value="Public"/>
<UML:TaggedValue tag="src_aggregation" value="0"/>
<UML:TaggedValue tag="src_isOrdered" value="false"/>
<UML:TaggedValue tag="src_isNavigable" value="false"/>
<UML:TaggedValue tag="src_containment" value="Unspecified"/>
<UML:TaggedValue tag="dst_visibility" value="Public"/>
<UML:TaggedValue tag="dst_aggregation" value="0"/>
<UML:TaggedValue tag="dst_isOrdered" value="false"/>
<UML:TaggedValue tag="dst_isNavigable" value="true"/>
<UML:TaggedValue tag="dst_containment" value="Unspecified"/>
<UML:TaggedValue tag="$ea_xref_property" value="$XREFPROP=$XID={7D67B9A9-8288-48b3-ABC7-0456DD43ACAC}$XID;$NAM=CustomProperties$NAM;$TYP=connector property$TYP;$VIS=Public$VIS;$DES=@PROP=@NAME=isSubstitutable@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;$DES;$CLT={C944BF2D-EEA3-4347-9AA2-7AA241BD6750}$CLT;$SUP=&lt;none&gt;$SUP;$ENDXREF;"/>
<UML:TaggedValue tag="virtualInheritance" value="0"/>
</UML:ModelElement.taggedValue>
</UML:Generalization>
<UML:Collaboration xmi.id="EAID_3306DFAE_BAD4_442f_B464_5362CC2A97E7_Collaboration" name="Collaborations">
<UML:Namespace.ownedElement>
<UML:ClassifierRole name="storage" xmi.id="EAID_9D7FEC1B_AF45_4832_9D14_A3CE113A4757" visibility="public" base="EAID_11111111_5487_4080_A7F4_41526CB0AA00">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Package"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="1.0"/>
<UML:TaggedValue tag="package" value="EAPK_3306DFAE_BAD4_442f_B464_5362CC2A97E7"/>
<UML:TaggedValue tag="date_created" value="2005-08-18 14:14:39"/>
<UML:TaggedValue tag="date_modified" value="2005-08-18 14:14:39"/>
<UML:TaggedValue tag="gentype" value="PHP"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package2" value="EAID_9D7FEC1B_AF45_4832_9D14_A3CE113A4757"/>
<UML:TaggedValue tag="package_name" value="cache"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="Jan Borsodi"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
</UML:ClassifierRole>
</UML:Namespace.ownedElement>
<UML:Collaboration.interaction/>
</UML:Collaboration>
<UML:Package name="storage" xmi.id="EAPK_9D7FEC1B_AF45_4832_9D14_A3CE113A4757" isRoot="false" isLeaf="false" isAbstract="false" visibility="public">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="created" value="2005-08-18 00:00:00"/>
<UML:TaggedValue tag="modified" value="2005-08-18 00:00:00"/>
<UML:TaggedValue tag="iscontrolled" value="FALSE"/>
<UML:TaggedValue tag="isprotected" value="FALSE"/>
<UML:TaggedValue tag="usedtd" value="FALSE"/>
<UML:TaggedValue tag="logxml" value="FALSE"/>
<UML:TaggedValue tag="codepath" value="E:\src\ezcomponents\packages\Cache\trunk\src\cache\storage"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="author" value="Jan Borsodi"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="ea_stype" value="Public"/>
</UML:ModelElement.taggedValue>
<UML:Namespace.ownedElement>
<UML:Class name="ezcCacheStorageArray" xmi.id="EAID_12AEEF68_D0FF_4a54_8542_6BD59BD93CC8" visibility="public" namespace="EAPK_9D7FEC1B_AF45_4832_9D14_A3CE113A4757" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="This is the implementation for the base class for all cache storages. This implementation stores arrays as a PHP version and simply requires this class for restoring the data. This is a fast and efficient way of storing PHP data structures, because the included files will be also cached by a optionally used Byte Code Cache. For example code see {@link ezcCacheManager}.
@package Cache
@link http://www.gnu.org/copyleft/lesser.html}"/>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Class"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="//autogen//
@copyright Copyright (C) 2005 eZ syst"/>
<UML:TaggedValue tag="package" value="EAPK_9D7FEC1B_AF45_4832_9D14_A3CE113A4757"/>
<UML:TaggedValue tag="date_created" value="2005-08-18 14:14:39"/>
<UML:TaggedValue tag="date_modified" value="2005-08-19 11:23:26"/>
<UML:TaggedValue tag="genfile" value="E:\src\ezcomponents\packages\Cache\trunk\src\cache\storage\array.php"/>
<UML:TaggedValue tag="gentype" value="PHP"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="storage"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="Jan Borsodi"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="eventflags" value="LNK=c1a8;"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
<UML:Classifier.feature>
<UML:Attribute name="location" changeable="none" visibility="protected" ownerScope="instance" targetScope="instance">
<UML:Attribute.initialValue>
<UML:Expression/>
</UML:Attribute.initialValue>
<UML:StructuralFeature.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:StructuralFeature.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="description" value="The location the cache resides in.
@var string"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="collection" value="false"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="lowerBound" value="1"/>
<UML:TaggedValue tag="upperBound" value="1"/>
<UML:TaggedValue tag="ea_guid" value="{99C2435B-DCF4-4082-B710-5949846AE0AE}"/>
<UML:TaggedValue tag="styleex" value="volatile=0;"/>
</UML:ModelElement.taggedValue>
</UML:Attribute>
<UML:Attribute name="options" changeable="none" visibility="protected" ownerScope="instance" targetScope="instance">
<UML:Attribute.initialValue>
<UML:Expression body="array()"/>
</UML:Attribute.initialValue>
<UML:StructuralFeature.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:StructuralFeature.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="description" value="options for the cache storage. depends on the specific implementation of the ezccachestorage. options available for all implementations are:
&lt;code&gt; array( 'ttl' =&gt; 60*60*24, // 24hrs time-to-life );
&lt;/code&gt;
@var array"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="collection" value="false"/>
<UML:TaggedValue tag="position" value="1"/>
<UML:TaggedValue tag="lowerBound" value="1"/>
<UML:TaggedValue tag="upperBound" value="1"/>
<UML:TaggedValue tag="ea_guid" value="{509EB4D8-D4E4-4190-86B4-B3557AA22898}"/>
<UML:TaggedValue tag="styleex" value="volatile=0;"/>
</UML:ModelElement.taggedValue>
</UML:Attribute>
<UML:Operation name="__construct" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="creates a new cache storage in the given location. creates a new cache storage for a given location. the location can differ for each ezccachestorage implementation, but will most likely be a filesystem path to a directory where cache data is stored in. per default there is only 1 common option for all ezccachestorage classes, which is the 'ttl' (time-to-life). this is per default set to 1 day. specific ezccachestorage implementations can have additional options.
@param string $location path to the cache location
@param array(string) $options options
@see ezccachestorageexception::code_location_not_available
@see ezccachestorageexception::code_location_not_writeable"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{427C70BE-14E8-4236-B49D-3A72BEE489D2}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-14E8-4236-B49D-3A72BEE489D2}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="location" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{DD092246-FC40-4e55-AAE0-DE96327F28C5}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="options" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{37E32E77-9718-4b40-8ABA-7F233953A8DD}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="null "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="store" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="store data to the cache storage. this methode stores the given cache data into the cache, assigning the id given to it. the type of cache data which is expected by a ezccachestorage depends on it's implementation. in most cases strings and arrays will be accepted, in some rare cases only strings might be accepted. using attributes you can describe your cache data further. this allows you to deal with multiple cache data at once later. some ezccachestorage implementations also use the attributes for storage purposes. attributes form some kind of &quot;extended id&quot;.
@param string $id the unique identifier for the data stored.
@param mixed $data the data to store.
@param array $attributes attributes that describe the cached data.
@return string the id of the newly cached data. "/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="1"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{2B121E5F-6897-426f-9C8E-7F5CE3CF5447}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-6897-426f-9C8E-7F5CE3CF5447}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{94E6CF15-782B-4ff9-849C-44CE6E43B127}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="data" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{489C2A72-5EE0-42bf-AC74-D2967BAC89A3}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="2"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{3483F725-00AF-4368-A5E6-E52E1784B794}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="array() "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="restore" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="restore data from the cache. restores the data associated with the given cache and returns it. please see {@link ezccachestorage::store()} for more detailed information of cachable datatypes. during access to cached data the caches are automatically expired. this means, that the ezccachestorage object checks before returning the data if it's still actual. if the cache has expired, data will be deleted and false is returned. you should always provide the attributes you assigned, although the cache storages must be able to find a cache id even without them. beware: finding cache data only by id can be much slower than finding it by id and attributes.
@param string $id the cache id to restore data from.
@param array $attributes attributed describing the data to restore.
@return mixed the cached data on success, otherwise false."/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="2"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{EEAA4C81-9FF1-440e-B296-A9E572845086}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-9FF1-440e-B296-A9E572845086}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{421D72E0-0581-42d5-B7EC-F132932D5533}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{3D481772-F6A6-4337-BC90-A12243A7061F}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="array() "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="delete" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="delete data from the cache. purges the cached data for a given id and or attributes. using an id purges only the cache data for just this id. additional attributes provided will matched additionally. this can give you an immense speed improvement against just searching for id (see {@link ezccachestorage::restore()}). if you only provide attributes for deletion of cache data, all cache data matching these attributes will be purged.
@param string $id the id of the data to purge.
@param array $attributes attributes describing the data to purge.
@return void"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="isAbstract" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="3"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{BEBFF4D7-ED2D-41fa-819F-7A51FF3DE414}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-ED2D-41fa-819F-7A51FF3DE414}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{7166552D-EC02-4518-8654-D9E1625670FC}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="null"/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{C3117802-B770-4c97-8335-22829C73E607}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="array() "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="hasdata" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="return if cache data is available. this method determines if cache data described by the given id and/or attributes exists. it returns the number of cache data items found.
@param string $id the id of the cache data.
@param array $attributes attributes to describe the data.
@return int the number of cache data items found matching the criteria."/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="isAbstract" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="4"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{93F8C125-C4DB-477e-8A05-81268C3671B7}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-C4DB-477e-8A05-81268C3671B7}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{C12B86C6-3B10-4cdc-8F5C-9994E9D1592E}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="null"/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{FBD79DF0-FA65-4906-AFDD-37F9407F1C14}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="array() "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
</UML:Classifier.feature>
</UML:Class>
<UML:Class name="ezcCacheStoragePlain" xmi.id="EAID_6DB9DECC_0845_4da5_9616_4A4BF4CAB731" visibility="public" namespace="EAPK_9D7FEC1B_AF45_4832_9D14_A3CE113A4757" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="This is the implementation for the base class for all cache storages. This implementation stores just plain text data. The text given to this storage is simple inserted into a file for saving and read from this file for restoring. This enables you also to store files in web server accessable location and to refer to them as static HTML files. For example code see {@link ezcCacheManager}.
@package Cache
@link http://www.gnu.org/copyleft/lesser.html}"/>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Class"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="//autogen//
@copyright Copyright (C) 2005 eZ syst"/>
<UML:TaggedValue tag="package" value="EAPK_9D7FEC1B_AF45_4832_9D14_A3CE113A4757"/>
<UML:TaggedValue tag="date_created" value="2005-08-18 14:14:40"/>
<UML:TaggedValue tag="date_modified" value="2005-08-19 11:23:26"/>
<UML:TaggedValue tag="genfile" value="E:\src\ezcomponents\packages\Cache\trunk\src\cache\storage\plain.php"/>
<UML:TaggedValue tag="gentype" value="PHP"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="storage"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="Jan Borsodi"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="eventflags" value="LNK=c2df;"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
<UML:Classifier.feature>
<UML:Attribute name="location" changeable="none" visibility="protected" ownerScope="instance" targetScope="instance">
<UML:Attribute.initialValue>
<UML:Expression/>
</UML:Attribute.initialValue>
<UML:StructuralFeature.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:StructuralFeature.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="description" value="The location the cache resides in.
@var string"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="collection" value="false"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="lowerBound" value="1"/>
<UML:TaggedValue tag="upperBound" value="1"/>
<UML:TaggedValue tag="ea_guid" value="{65C9D45E-63F6-46d7-8BDC-374D1A30EDDA}"/>
<UML:TaggedValue tag="styleex" value="volatile=0;"/>
</UML:ModelElement.taggedValue>
</UML:Attribute>
<UML:Attribute name="options" changeable="none" visibility="protected" ownerScope="instance" targetScope="instance">
<UML:Attribute.initialValue>
<UML:Expression body="array()"/>
</UML:Attribute.initialValue>
<UML:StructuralFeature.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:StructuralFeature.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="description" value="options for the cache storage. depends on the specific implementation of the ezccachestorage. options available for all implementations are:
&lt;code&gt; array( 'ttl' =&gt; 60*60*24, // 24hrs time-to-life );
&lt;/code&gt;
@var array"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="collection" value="false"/>
<UML:TaggedValue tag="position" value="1"/>
<UML:TaggedValue tag="lowerBound" value="1"/>
<UML:TaggedValue tag="upperBound" value="1"/>
<UML:TaggedValue tag="ea_guid" value="{DC25E5F4-C6A5-4e00-A1BA-60125B9A5D5F}"/>
<UML:TaggedValue tag="styleex" value="volatile=0;"/>
</UML:ModelElement.taggedValue>
</UML:Attribute>
<UML:Operation name="__construct" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="creates a new cache storage in the given location. creates a new cache storage for a given location. the location can differ for each ezccachestorage implementation, but will most likely be a filesystem path to a directory where cache data is stored in. per default there is only 1 common option for all ezccachestorage classes, which is the 'ttl' (time-to-life). this is per default set to 1 day. specific ezccachestorage implementations can have additional options.
@param string $location path to the cache location
@param array(string) $options options
@see ezccachestorageexception::code_location_not_available
@see ezccachestorageexception::code_location_not_writeable"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{D64F5FA8-9E43-432e-8051-1835B86C754D}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-9E43-432e-8051-1835B86C754D}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="location" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{04BEDC5A-ADDC-4b8f-A4D8-6D4A38C5655E}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="options" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{1518EE67-7BE3-427a-8372-E172B42CFBF2}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="null "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="store" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="store data to the cache storage. this methode stores the given cache data into the cache, assigning the id given to it. the type of cache data which is expected by a ezccachestorage depends on it's implementation. in most cases strings and arrays will be accepted, in some rare cases only strings might be accepted. using attributes you can describe your cache data further. this allows you to deal with multiple cache data at once later. some ezccachestorage implementations also use the attributes for storage purposes. attributes form some kind of &quot;extended id&quot;.
@param string $id the unique identifier for the data stored.
@param mixed $data the data to store.
@param array $attributes attributes that describe the cached data.
@return string the id of the newly cached data. "/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="1"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{545F89B7-1DDF-4482-8848-BE60570B34A8}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-1DDF-4482-8848-BE60570B34A8}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{987762A3-3578-4207-B9DE-ACA95FE29599}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="data" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{A55640D2-4B50-4a6e-A7EA-B958C5699717}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="2"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{718079A4-A16F-4f2f-A660-5AEC7259B802}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="array() "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="restore" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="restore data from the cache. restores the data associated with the given cache and returns it. please see {@link ezccachestorage::store()} for more detailed information of cachable datatypes. during access to cached data the caches are automatically expired. this means, that the ezccachestorage object checks before returning the data if it's still actual. if the cache has expired, data will be deleted and false is returned. you should always provide the attributes you assigned, although the cache storages must be able to find a cache id even without them. beware: finding cache data only by id can be much slower than finding it by id and attributes.
@param string $id the cache id to restore data from.
@param array $attributes attributed describing the data to restore.
@return mixed the cached data on success, otherwise false."/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="2"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{8DA7AA4B-1D34-40f9-92C0-988CFC2C1E1E}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-1D34-40f9-92C0-988CFC2C1E1E}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{8E6E3E44-D606-4426-8B8A-4A03F96264C5}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{180FB02C-608A-4f62-8C07-2D05EAB5C739}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="array() "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="delete" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="delete data from the cache. purges the cached data for a given id and or attributes. using an id purges only the cache data for just this id. additional attributes provided will matched additionally. this can give you an immense speed improvement against just searching for id (see {@link ezccachestorage::restore()}). if you only provide attributes for deletion of cache data, all cache data matching these attributes will be purged.
@param string $id the id of the data to purge.
@param array $attributes attributes describing the data to purge.
@return void"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="isAbstract" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="3"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{74028EEE-745F-4f60-B762-C156FC6B8261}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-745F-4f60-B762-C156FC6B8261}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{887EB967-DCF2-44dd-B635-EF29B49A0AF8}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="null"/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{F08E756E-5669-477b-9E0F-D15BB21078D3}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="array() "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="hasdata" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="return if cache data is available. this method determines if cache data described by the given id and/or attributes exists. it returns the number of cache data items found.
@param string $id the id of the cache data.
@param array $attributes attributes to describe the data.
@return int the number of cache data items found matching the criteria."/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="isAbstract" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="4"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{1C6970A3-351E-412a-AD57-FCE0CAF61A76}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-351E-412a-AD57-FCE0CAF61A76}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{A69A12BC-4008-4222-B601-466E3E396D34}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="null"/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{461B7F13-119D-4cec-B2B4-52723195ED17}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="array() "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
</UML:Classifier.feature>
</UML:Class>
<UML:Class name="ezcCacheStorageEvalarray" xmi.id="EAID_8D5078C6_8636_44ad_B9A5_DC00BABCC70B" visibility="public" namespace="EAPK_9D7FEC1B_AF45_4832_9D14_A3CE113A4757" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="This is the implementation for the base class for all cache storages. This implementation stores arrays as a PHP version, quite similar to what the {@link ezcCacheStorageArray} class does. But instead of simply requiring the generated PHP files for restoring it uses the (evil) eval() function of PHP to restore the data. This has the effect, that the data is not cached using a byte code cache (which might be intended for large or rarely accessed cache data). For example code see {@link ezcCacheManager}.
@package Cache
@link http://www.gnu.org/copyleft/lesser.html}"/>
<UML:TaggedValue tag="isSpecification" value="false"/>
<UML:TaggedValue tag="ea_stype" value="Class"/>
<UML:TaggedValue tag="ea_ntype" value="0"/>
<UML:TaggedValue tag="version" value="//autogen//
@copyright Copyright (C) 2005 eZ syst"/>
<UML:TaggedValue tag="package" value="EAPK_9D7FEC1B_AF45_4832_9D14_A3CE113A4757"/>
<UML:TaggedValue tag="date_created" value="2005-08-18 14:14:40"/>
<UML:TaggedValue tag="date_modified" value="2005-08-19 11:23:27"/>
<UML:TaggedValue tag="genfile" value="E:\src\ezcomponents\packages\Cache\trunk\src\cache\storage\evalarray.php"/>
<UML:TaggedValue tag="gentype" value="PHP"/>
<UML:TaggedValue tag="tagged" value="0"/>
<UML:TaggedValue tag="package_name" value="storage"/>
<UML:TaggedValue tag="phase" value="1.0"/>
<UML:TaggedValue tag="author" value="Jan Borsodi"/>
<UML:TaggedValue tag="complexity" value="1"/>
<UML:TaggedValue tag="status" value="Proposed"/>
<UML:TaggedValue tag="eventflags" value="LNK=86dd;"/>
<UML:TaggedValue tag="style" value="BackColor=-1;BorderColor=-1;BorderWidth=-1;FontColor=-1;VSwimLanes=0;HSwimLanes=0;BorderStyle=0;"/>
</UML:ModelElement.taggedValue>
<UML:Classifier.feature>
<UML:Attribute name="location" changeable="none" visibility="protected" ownerScope="instance" targetScope="instance">
<UML:Attribute.initialValue>
<UML:Expression/>
</UML:Attribute.initialValue>
<UML:StructuralFeature.type>
<UML:Classifier xmi.idref="eaxmiid2"/>
</UML:StructuralFeature.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="description" value="The location the cache resides in.
@var string"/>
<UML:TaggedValue tag="type" value="string"/>
<UML:TaggedValue tag="collection" value="false"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="lowerBound" value="1"/>
<UML:TaggedValue tag="upperBound" value="1"/>
<UML:TaggedValue tag="ea_guid" value="{D7FEB1A8-7FE6-489f-AD14-C0EA8CE395A4}"/>
<UML:TaggedValue tag="styleex" value="volatile=0;"/>
</UML:ModelElement.taggedValue>
</UML:Attribute>
<UML:Attribute name="options" changeable="none" visibility="protected" ownerScope="instance" targetScope="instance">
<UML:Attribute.initialValue>
<UML:Expression body="array()"/>
</UML:Attribute.initialValue>
<UML:StructuralFeature.type>
<UML:Classifier xmi.idref="eaxmiid0"/>
</UML:StructuralFeature.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="description" value="Options for the cache storage. Depends on the specific implementation of the ezcCacheStorage. Options available for all implementations are:
&lt;code&gt; array( 'ttl' =&gt; 60*60*24, // 24hrs Time-To-Life );
&lt;/code&gt;
@var array"/>
<UML:TaggedValue tag="type" value="array"/>
<UML:TaggedValue tag="collection" value="false"/>
<UML:TaggedValue tag="position" value="1"/>
<UML:TaggedValue tag="lowerBound" value="1"/>
<UML:TaggedValue tag="upperBound" value="1"/>
<UML:TaggedValue tag="ea_guid" value="{4CF535EA-1CC7-4c5e-B362-05EC32ABB005}"/>
<UML:TaggedValue tag="styleex" value="volatile=0;"/>
</UML:ModelElement.taggedValue>
</UML:Attribute>
<UML:Operation name="__construct" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Creates a new cache storage in the given location. Creates a new cache storage for a given location. The location can differ for each ezcCacheStorage implementation, but will most likely be a filesystem path to a directory where cache data is stored in. Per default there is only 1 common option for all ezcCacheStorage classes, which is the 'ttl' (Time-To-Life). This is per default set to 1 day. Specific ezcCacheStorage implementations can have additional options.
@param string $location Path to the cache location
@param array(string) $options Options
@see ezcCacheStorageException::CODE_LOCATION_NOT_AVAILABLE
@see ezcCacheStorageException::CODE_LOCATION_NOT_WRITEABLE"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="0"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{F7270334-ADE0-402d-9BAC-85C0FE27F926}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-ADE0-402d-9BAC-85C0FE27F926}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="location" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{1F7149C8-39E5-4426-AD88-F0439158D447}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="options" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{2EAD2830-9192-4f64-A5DF-13E8B87290C7}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="null "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="store" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Store data to the cache storage. This methode stores the given cache data into the cache, assigning the ID given to it. The type of cache data which is expected by a ezcCacheStorage depends on it's implementation. In most cases strings and arrays will be accepted, in some rare cases only strings might be accepted. Using attributes you can describe your cache data further. This allows you to deal with multiple cache data at once later. Some ezcCacheStorage implementations also use the attributes for storage purposes. Attributes form some kind of &quot;extended ID&quot;.
@param string $id The unique identifier for the data stored.
@param mixed $data The data to store.
@param array $attributes Attributes that describe the cached data.
@return string The ID of the newly cached data. "/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="1"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{4BFA267F-9DB4-4ae7-9213-C84965B7A85D}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-9DB4-4ae7-9213-C84965B7A85D}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{77FFD018-A5C8-4d16-AF8D-D31641C2A1EE}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="data" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{DE5A8598-0869-4d9b-AA93-C7715CDA576D}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="2"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{63311A61-ED51-4ea2-B315-C0E049442D42}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="array() "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="restore" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Restore data from the cache. Restores the data associated with the given cache and returns it. Please see {@link ezcCacheStorage::store()} for more detailed information of cachable datatypes. During access to cached data the caches are automatically expired. This means, that the ezcCacheStorage object checks before returning the data if it's still actual. If the cache has expired, data will be deleted and false is returned. You should always provide the attributes you assigned, although the cache storages must be able to find a cache ID even without them. BEWARE: Finding cache data only by ID can be much slower than finding it by ID and attributes.
@param string $id The cache ID to restore data from.
@param array $attributes Attributed describing the data to restore.
@return mixed The cached data on success, otherwise false."/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="2"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{AB28B0B9-FFDC-4a47-A858-AB43CB3D9036}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-FFDC-4a47-A858-AB43CB3D9036}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{97F2428D-03F2-446f-9660-ABD652104601}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{29C7D456-54D1-4262-BEA9-CA7EDA81BF65}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="array() "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="delete" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Delete data from the cache. Purges the cached data for a given ID and or attributes. Using an ID purges only the cache data for just this ID. Additional attributes provided will matched additionally. This can give you an immense speed improvement against just searching for ID (see {@link ezcCacheStorage::restore()}). If you only provide attributes for deletion of cache data, all cache data matching these attributes will be purged.
@param string $id The ID of the data to purge.
@param array $attributes Attributes describing the data to purge.
@return void"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="isAbstract" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="3"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{434065C1-B71E-4676-BA5D-A6A99CCBFA0B}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-B71E-4676-BA5D-A6A99CCBFA0B}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{28DEEF99-DC4B-4460-82D0-82062C04F430}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="null"/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{31DF0579-CC70-43f8-B33A-B1FA955CC7B1}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="array() "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
<UML:Operation name="hasData" visibility="public" ownerScope="instance" isQuery="false" concurrency="sequential">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="documentation" value="Return if cache data is available. This method determines if cache data described by the given ID and/or attributes exists. It returns the number of cache data items found.
@param string $id The ID of the cache data.
@param array $attributes Attributes to describe the data.
@return int The number of cache data items found matching the criteria."/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="false"/>
<UML:TaggedValue tag="isAbstract" value="1"/>
<UML:TaggedValue tag="synchronised" value="0"/>
<UML:TaggedValue tag="concurrency" value="Sequential"/>
<UML:TaggedValue tag="position" value="4"/>
<UML:TaggedValue tag="returnarray" value="0"/>
<UML:TaggedValue tag="pure" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{C57BA798-975A-4cb5-9989-03DACB84B95B}"/>
</UML:ModelElement.taggedValue>
<UML:BehavioralFeature.parameter>
<UML:Parameter kind="return" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{RETURNID-975A-4cb5-9989-03DACB84B95B}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="id" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="0"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{4584FEE0-C973-432e-AADF-9F25414C9A02}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="null"/>
</UML:Parameter.defaultValue>
</UML:Parameter>
<UML:Parameter name="attributes" kind="in" visibility="public">
<UML:Parameter.type>
<UML:Classifier xmi.idref="eaxmiid1"/>
</UML:Parameter.type>
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="pos" value="1"/>
<UML:TaggedValue tag="type" value="var"/>
<UML:TaggedValue tag="const" value="0"/>
<UML:TaggedValue tag="ea_guid" value="{FD106A0B-836C-4e89-8385-A8CF7E8D8071}"/>
</UML:ModelElement.taggedValue>
<UML:Parameter.defaultValue>
<UML:Expression body="array() "/>
</UML:Parameter.defaultValue>
</UML:Parameter>
</UML:BehavioralFeature.parameter>
</UML:Operation>
</UML:Classifier.feature>
</UML:Class>
</UML:Namespace.ownedElement>
</UML:Package>
</UML:Namespace.ownedElement>
</UML:Package>
</UML:Namespace.ownedElement>
</UML:Package>
<UML:Stereotype xmi.id="EAID_71685A4E_1CBD_4a1f_95EB_C545C4870EC4" name="ezcomponent" isRoot="false" isLeaf="false" isAbstract="false">
<UML:Stereotype.baseClass>Package</UML:Stereotype.baseClass>
</UML:Stereotype>
<UML:DataType xmi.id="eaxmiid3" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="eaxmiid2" name="string" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="eaxmiid0" name="array" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="eaxmiid4" name="mixed" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="eaxmiid5" name="int" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
<UML:DataType xmi.id="eaxmiid1" name="var" visibility="private" isRoot="false" isLeaf="false" isAbstract="false"/>
</UML:Namespace.ownedElement>
</UML:Model>
<UML:Diagram name="Cache" xmi.id="EAID_3E5EBB55_43B1_4858_AE48_1ED2C2E88583" diagramType="ClassDiagram" owner="EAPK_55737587_783C_4413_85E9_DD98E5BE26FF" toolName="Enterprise Architect 2.5">
<UML:ModelElement.taggedValue>
<UML:TaggedValue tag="version" value="0.1"/>
<UML:TaggedValue tag="author" value="Tobias Schlitt"/>
<UML:TaggedValue tag="created_date" value="2005-08-18 14:14:39"/>
<UML:TaggedValue tag="modified_date" value="2005-08-19 11:35:17"/>
<UML:TaggedValue tag="package" value="EAPK_55737587_783C_4413_85E9_DD98E5BE26FF"/>
<UML:TaggedValue tag="type" value="Logical"/>
<UML:TaggedValue tag="swimlanes" value="locked=false;orientation=0;width=0;inbar=false;names=false;color=0;bold=false;fcol=0;;cls=0;"/>
<UML:TaggedValue tag="EAStyle" value="ShowPrivate=1;ShowProtected=1;ShowPublic=1;HideRelationships=0;Locked=0;Border=1;HighlightForeign=1;PackageContents=1;SequenceNotes=0;ScalePrintImage=0;PPgs.cx=0;PPgs.cy=0;DocSize.cx=800;DocSize.cy=1118;ShowDetails=0;Orientation=P;Zoom=100;ShowTags=0;OpParams=2;ShowIcons=1;CollabNums=0;HideProps=0;ShowReqs=0;ShowCons=0;PaperSize=9;HideParents=0;UseAlias=0;HideAtts=0;HideOps=0;HideStereo=0;HideElemStereo=0;ShowTests=0;ShowMaint=0;"/>
<UML:TaggedValue tag="styleex" value="ExcludeRTF=0;DocAll=0;HideQuals=0;AttPkg=1;ShowTests=0;ShowMaint=0;SuppressFOC=0;TDurLow=0;TDurHigh=100;TDurUnit=;TDurHide=0;"/>
</UML:ModelElement.taggedValue>
<UML:Diagram.element>
<UML:DiagramElement geometry="Left=530;Top=400;Right=769;Bottom=540;" subject="EAID_6DB9DECC_0845_4da5_9616_4A4BF4CAB731" seqno="1" style="DUID=FDC559D4;LBL=;"/>
<UML:DiagramElement geometry="Left=270;Top=400;Right=510;Bottom=540;" subject="EAID_8D5078C6_8636_44ad_B9A5_DC00BABCC70B" seqno="2" style="DUID=F72F66F3;LBL=;"/>
<UML:DiagramElement geometry="Left=10;Top=400;Right=249;Bottom=540;" subject="EAID_12AEEF68_D0FF_4a54_8542_6BD59BD93CC8" seqno="3" style="DUID=2B7C6E6A;LBL=;"/>
<UML:DiagramElement geometry="Left=20;Top=20;Right=185;Bottom=95;" subject="EAID_5B8CF78A_B04C_415b_B2A7_3BD24BDC3CFB" seqno="4" style="DUID=C32A9881;"/>
<UML:DiagramElement geometry="Left=248;Top=200;Right=565;Bottom=353;" subject="EAID_47E4123F_74E9_44a8_8F44_E6C39F48D45E" seqno="5" style="DUID=544FFC61;LBL=;"/>
<UML:DiagramElement geometry="Left=207;Top=23;Right=601;Bottom=137;" subject="EAID_126456B6_DE85_4074_8E75_F107D948AEED" seqno="6" style="DUID=27FCCBAD;LBL=;"/>
<UML:DiagramElement geometry="EDGE=1;SX=0;SY=0;EX=-1;EY=0;$LLB=CX=14:CY=15:OX=4:OY=0:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LLT=;LMT=;LMB=;LRT=CX=45:CY=15:OX=-4:OY=-20:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;LRB=CX=22:CY=15:OX=-3:OY=-22:HDN=0:BLD=0:ITA=0:UND=0:CLR=-1:ALN=0:DIR=0:ROT=0;Path=;" subject="EAID_7A41512C_B28E_4bac_A6EC_FBA82A283314" style="Mode=2;EOID=27FCCBAD;SOID=544FFC61;Hidden=0;"/>
<UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_6E515B41_A4FC_480a_8EEF_7D35E49FFD71" style="Mode=2;EOID=544FFC61;SOID=F72F66F3;Hidden=0;"/>
<UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_6F024EA7_8CCF_49a3_8CAA_ADCA02752929" style="Mode=3;EOID=544FFC61;SOID=FDC559D4;Hidden=0;"/>
<UML:DiagramElement geometry="EDGE=1;$LLB=;LLT=;LMT=;LMB=;LRT=;LRB=;Path=;" subject="EAID_C944BF2D_EEA3_4347_9AA2_7AA241BD6750" style="Mode=3;EOID=544FFC61;SOID=2B7C6E6A;Hidden=0;"/>
</UML:Diagram.element>
</UML:Diagram>
</XMI.content>
<XMI.difference/>
<XMI.extensions xmi.extender="Enterprise Architect 2.5"/>
</XMI>