Lucene++ - a full-featured, c++ search engine
API Documentation


Loading...
Searching...
No Matches
FileSwitchDirectory.h
Go to the documentation of this file.
1
2// Copyright (c) 2009-2014 Alan Wright. All rights reserved.
3// Distributable under the terms of either the Apache License (Version 2.0)
4// or the GNU Lesser General Public License.
6
7#ifndef FILESWITCHDIRECTORY_H
8#define FILESWITCHDIRECTORY_H
9
10#include "Directory.h"
11
12namespace Lucene {
13
21class LPPAPI FileSwitchDirectory : public Directory {
22public:
23 FileSwitchDirectory(HashSet<String> primaryExtensions, const DirectoryPtr& primaryDir, const DirectoryPtr& secondaryDir, bool doClose);
25
27
28protected:
32 bool doClose;
33
34public:
37
40
42 virtual void close();
43
46
48 static String getExtension(const String& name);
49
51 virtual bool fileExists(const String& name);
52
54 virtual uint64_t fileModified(const String& name);
55
57 virtual void touchFile(const String& name);
58
60 virtual void deleteFile(const String& name);
61
63 virtual int64_t fileLength(const String& name);
64
67 virtual IndexOutputPtr createOutput(const String& name);
68
72 virtual void sync(const String& name);
73
77 virtual IndexInputPtr openInput(const String& name);
78
79protected:
80 DirectoryPtr getDirectory(const String& name);
81};
82
83}
84
85#endif
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
A Directory is a flat list of files. Files may be written once, when they are created....
Definition Directory.h:18
A Directory instance that switches files between two other Directory instances.
Definition FileSwitchDirectory.h:21
DirectoryPtr primaryDir
Definition FileSwitchDirectory.h:30
virtual void touchFile(const String &name)
Set the modified time of an existing file to now.
HashSet< String > primaryExtensions
Definition FileSwitchDirectory.h:29
virtual HashSet< String > listAll()
Returns an array of strings, one for each file in the directory.
DirectoryPtr getDirectory(const String &name)
virtual void close()
Closes the store.
virtual uint64_t fileModified(const String &name)
Returns the time the named file was last modified.
DirectoryPtr getSecondaryDir()
Return the secondary directory.
virtual void sync(const String &name)
Ensure that any writes to this file are moved to stable storage. Lucene uses this to properly commit ...
DirectoryPtr getPrimaryDir()
Return the primary directory.
virtual void deleteFile(const String &name)
Removes an existing file in the directory.
virtual int64_t fileLength(const String &name)
Returns the length of a file in the directory.
bool doClose
Definition FileSwitchDirectory.h:32
DirectoryPtr secondaryDir
Definition FileSwitchDirectory.h:31
virtual bool fileExists(const String &name)
Returns true if a file with the given name exists.
virtual IndexInputPtr openInput(const String &name)
Returns a stream reading an existing file, with the specified read buffer size. The particular Direct...
virtual IndexOutputPtr createOutput(const String &name)
Creates a new, empty file in the directory with the given name. Returns a stream writing this file.
FileSwitchDirectory(HashSet< String > primaryExtensions, const DirectoryPtr &primaryDir, const DirectoryPtr &secondaryDir, bool doClose)
static String getExtension(const String &name)
Utility method to return a file's extension.
Utility template class to handle hash set collections that can be safely copied and shared.
Definition HashSet.h:17
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< IndexInput > IndexInputPtr
Definition LuceneTypes.h:493
boost::shared_ptr< Directory > DirectoryPtr
Definition LuceneTypes.h:489
boost::shared_ptr< IndexOutput > IndexOutputPtr
Definition LuceneTypes.h:494

clucene.sourceforge.net