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

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- File List
- Globals

FSDirectory.h
Go to the documentation of this file.
1 // 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 FSDIRECTORY_H
8 #define FSDIRECTORY_H
9
10 #include "Directory.h"
11
12 namespace Lucene {
13
29 class LPPAPI FSDirectory : public Directory {
30 protected:
34 FSDirectory(const String& path, const LockFactoryPtr& lockFactory);
35
36 public:
37 virtual ~FSDirectory();
38
39 LUCENE_CLASS(FSDirectory);
40
41 public:
44 static const int32_t DEFAULT_READ_CHUNK_SIZE;
45
46 protected:
47 bool checked;
48
50 String directory;
51
53 int32_t chunkSize;
54
55 public:
57 static FSDirectoryPtr open(const String& path);
58
60 static FSDirectoryPtr open(const String& path, const LockFactoryPtr& lockFactory);
61
64 static HashSet<String> listAll(const String& dir);
65
67 static uint64_t fileModified(const String& directory, const String& name);
68
70 void createDir();
71
73 String getFile();
74
79 void setReadChunkSize(int32_t chunkSize);
80
83 int32_t getReadChunkSize();
84
87 virtual HashSet<String> listAll();
88
90 virtual bool fileExists(const String& name);
91
93 virtual uint64_t fileModified(const String& name);
94
96 virtual void touchFile(const String& name);
97
99 virtual void deleteFile(const String& name);
100
102 virtual int64_t fileLength(const String& name);
103
106 virtual void sync(const String& name);
107
110 virtual IndexInputPtr openInput(const String& name);
111
115 virtual IndexInputPtr openInput(const String& name, int32_t bufferSize);
116
118 virtual String getLockID();
119
121 virtual void close();
122
124 virtual String toString();
125
126 protected:
128 void initOutput(const String& name);
129 };
130
131 }
132
133 #endif
Lucene::FSDirectory::checked
bool checked
Definition: FSDirectory.h:47
Lucene::FSDirectoryPtr
boost::shared_ptr< FSDirectory > FSDirectoryPtr
Definition: LuceneTypes.h:491
Lucene::Directory
A Directory is a flat list of files. Files may be written once, when they are created. Once a file is created it may only be opened for read, or deleted. Random access is permitted both when reading and writing. Directory locking is implemented by an instance of LockFactory, and can be changed for each Directory instance using setLockFactory.
Definition: Directory.h:18
Lucene::HashSet< String >
Lucene::FSDirectory
Base class for Directory implementations that store index files in the file system. There are currently three core subclasses:
Definition: FSDirectory.h:29
Lucene::IndexInputPtr
boost::shared_ptr< IndexInput > IndexInputPtr
Definition: LuceneTypes.h:493
Lucene::FileUtils::fileExists
LPPAPI bool fileExists(const String &path)
Return true if given file or directory exists.
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::FSDirectory::chunkSize
int32_t chunkSize
Definition: FSDirectory.h:53
Lucene::FSDirectory::directory
String directory
The underlying filesystem directory.
Definition: FSDirectory.h:50
Lucene::FileUtils::fileLength
LPPAPI int64_t fileLength(const String &path)
Return file length in bytes.
Directory.h
Lucene::LockFactoryPtr
boost::shared_ptr< LockFactory > LockFactoryPtr
Definition: LuceneTypes.h:497
Lucene::FileUtils::touchFile
LPPAPI bool touchFile(const String &path)
Set file last modified date and time to now.
Lucene::FileUtils::fileModified
LPPAPI uint64_t fileModified(const String &path)
Return file last modified date and time.

clucene.sourceforge.net