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. 5 ///////////////////////////////////////////////////////////////////////////// 6 7 #ifndef SEGMENTWRITESTATE_H 8 #define SEGMENTWRITESTATE_H 9 10 #include "LuceneObject.h" 11 12 namespace Lucene { 13 14 class SegmentWriteState : public LuceneObject { 15 public: 16 SegmentWriteState(const DocumentsWriterPtr& docWriter, const DirectoryPtr& directory, const String& segmentName, 17 const String& docStoreSegmentName, int32_t numDocs, int32_t numDocsInStore, 18 int32_t termIndexInterval); 19 virtual ~SegmentWriteState(); 20 21 LUCENE_CLASS(SegmentWriteState); 22 23 public: 24 DocumentsWriterWeakPtr _docWriter; 25 DirectoryPtr directory; 26 String segmentName; 27 String docStoreSegmentName; 28 int32_t numDocs; 29 int32_t termIndexInterval; 30 int32_t numDocsInStore; 31 HashSet<String> flushedFiles; 32 33 public: 34 String segmentFileName(const String& ext); 35 }; 36 37 } 38 39 #endif 40