136 lines
3.5 KiB
PHP
136 lines
3.5 KiB
PHP
<?php
|
|
/**
|
|
* Zend Framework
|
|
*
|
|
* LICENSE
|
|
*
|
|
* This source file is subject to the new BSD license that is bundled
|
|
* with this package in the file LICENSE.txt.
|
|
* It is also available through the world-wide-web at this URL:
|
|
* http://framework.zend.com/license/new-bsd
|
|
* If you did not receive a copy of the license and are unable to
|
|
* obtain it through the world-wide-web, please send an email
|
|
* to license@zend.com so we can send you a copy immediately.
|
|
*
|
|
* @category Zend
|
|
* @package Zend_Search_Lucene
|
|
* @subpackage Storage
|
|
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
|
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
|
*/
|
|
|
|
|
|
/**
|
|
* @category Zend
|
|
* @package Zend_Search_Lucene
|
|
* @subpackage Storage
|
|
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
|
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
|
*/
|
|
abstract class Zend_Search_Lucene_Storage_Directory
|
|
{
|
|
|
|
/**
|
|
* Closes the store.
|
|
*
|
|
* @return void
|
|
*/
|
|
abstract public function close();
|
|
|
|
/**
|
|
* Returns an array of strings, one for each file in the directory.
|
|
*
|
|
* @return array
|
|
*/
|
|
abstract public function fileList();
|
|
|
|
/**
|
|
* Creates a new, empty file in the directory with the given $filename.
|
|
*
|
|
* @param string $filename
|
|
* @return Zend_Search_Lucene_Storage_File
|
|
*/
|
|
abstract public function createFile($filename);
|
|
|
|
|
|
/**
|
|
* Removes an existing $filename in the directory.
|
|
*
|
|
* @param string $filename
|
|
* @return void
|
|
*/
|
|
abstract public function deleteFile($filename);
|
|
|
|
/**
|
|
* Purge file if it's cached by directory object
|
|
*
|
|
* Method is used to prevent 'too many open files' error
|
|
*
|
|
* @param string $filename
|
|
* @return void
|
|
*/
|
|
abstract public function purgeFile($filename);
|
|
|
|
/**
|
|
* Returns true if a file with the given $filename exists.
|
|
*
|
|
* @param string $filename
|
|
* @return boolean
|
|
*/
|
|
abstract public function fileExists($filename);
|
|
|
|
|
|
/**
|
|
* Returns the length of a $filename in the directory.
|
|
*
|
|
* @param string $filename
|
|
* @return integer
|
|
*/
|
|
abstract public function fileLength($filename);
|
|
|
|
|
|
/**
|
|
* Returns the UNIX timestamp $filename was last modified.
|
|
*
|
|
* @param string $filename
|
|
* @return integer
|
|
*/
|
|
abstract public function fileModified($filename);
|
|
|
|
|
|
/**
|
|
* Renames an existing file in the directory.
|
|
*
|
|
* @param string $from
|
|
* @param string $to
|
|
* @return void
|
|
*/
|
|
abstract public function renameFile($from, $to);
|
|
|
|
|
|
/**
|
|
* Sets the modified time of $filename to now.
|
|
*
|
|
* @param string $filename
|
|
* @return void
|
|
*/
|
|
abstract public function touchFile($filename);
|
|
|
|
|
|
/**
|
|
* Returns a Zend_Search_Lucene_Storage_File object for a given $filename in the directory.
|
|
*
|
|
* If $shareHandler option is true, then file handler can be shared between File Object
|
|
* requests. It speed-ups performance, but makes problems with file position.
|
|
* Shared handler are good for short atomic requests.
|
|
* Non-shared handlers are useful for stream file reading (especial for compound files).
|
|
*
|
|
* @param string $filename
|
|
* @param boolean $shareHandler
|
|
* @return Zend_Search_Lucene_Storage_File
|
|
*/
|
|
abstract public function getFileObject($filename, $shareHandler = true);
|
|
|
|
}
|
|
|