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

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_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene::FileUtils::fileModified
LPPAPI uint64_t fileModified(const String &path)
Return file last modified date and time.
Lucene::LockFactoryPtr
boost::shared_ptr< LockFactory > LockFactoryPtr
Definition: LuceneTypes.h:497
Lucene::Directory
A Directory is a flat list of files. Files may be written once, when they are created....
Definition: Directory.h:18
Lucene::FileUtils::touchFile
LPPAPI bool touchFile(const String &path)
Set file last modified date and time to now.
Lucene::FSDirectory::directory
String directory
The underlying filesystem directory.
Definition: FSDirectory.h:50
Lucene::FSDirectoryPtr
boost::shared_ptr< FSDirectory > FSDirectoryPtr
Definition: LuceneTypes.h:491
Lucene::FileUtils::fileLength
LPPAPI int64_t fileLength(const String &path)
Return file length in bytes.
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::FSDirectory::checked
bool checked
Definition: FSDirectory.h:47
Lucene::IndexInputPtr
boost::shared_ptr< IndexInput > IndexInputPtr
Definition: LuceneTypes.h:493
Lucene::HashSet< String >
Lucene::FSDirectory::chunkSize
int32_t chunkSize
Definition: FSDirectory.h:53
Lucene::FSDirectory
Base class for Directory implementations that store index files in the file system....
Definition: FSDirectory.h:29
Directory.h
Lucene::FileUtils::fileExists
LPPAPI bool fileExists(const String &path)
Return true if given file or directory exists.

clucene.sourceforge.net