Apache Zeta Components Manual :: File Source for meta_data_storage.php
Source for file meta_data_storage.php
Documentation is available at meta_data_storage.php
* File containing the ezcCacheStackMetaDataStorage interface.
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* @version //autogentag//
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* Interface that must be implemented by stack meta data storages.
* If a storage is capable to store meta data used by an {@link ezcCacheStack},
* it must implement this interface. Beside the store and restore methods for
* the meta data itself, it must implement methods to lock and unlock the
* complete storage, to ensure that meta data is kept consistent and not
* affected by race conditions of concurring requests.
* @version //autogentag//
* Restores and returns the meta data struct.
* This method fetches the meta data stored in the storage and returns the
* according object implementing {@link ezcCacheStackMetaData}, that was
* stored using {@link storeMetaData()}. The meta data must be stored
* inside the storage, but should not be visible as normal cache items to
* the user. If no meta data is found, null must be returned.
* @return ezcCacheStackMetaData|null
* Stores the given meta data struct.
* This method stores the given $metaData inside the storage. The data must
* be stored with the same mechanism that the storage itself uses. However,
* it should not be stored as a normal cache item, if possible, to avoid
* accedental user manipulation. The class of $metaData must be stored in
* addition, to reconstruct the correct {@link ezcCacheStackMetaData}
* implementing class on {@link restoreMetaData}.
* @param ezcCacheStackMetaData $metaData
public function storeMetaData( ezcCacheStackMetaData $metaData );
* Acquire a lock on the storage.
* This method acquires a lock on the storage. If locked, the storage must
* block all other method calls until the lock is freed again using {@link }
* ezcCacheStackMetaDataStorage::unlock()}. Methods that are called within
* the request that successfully acquired the lock must succeed as usual.
* Release a lock on the storage.
* This method releases the lock of the storage, that has been acquired via
* {@link ezcCacheStackMetaDataStorage::lock()}. After this method has been
* called, blocked method calls (including calls to lock()) can suceed