Lucene.Net.Store.CompoundFileDirectory.Dispose C# (CSharp) Method

Dispose() public method

public Dispose ( ) : void
return void
        public override void Dispose()
        {
            lock (this)
            {
                if (!IsOpen)
                {
                    // allow double close - usually to be consistent with other closeables
                    return; // already closed
                }
                isOpen = false;
                if (Writer != null)
                {
                    Debug.Assert(OpenForWrite);
                    Writer.Dispose();
                }
                else
                {
                    IOUtils.Close(Handle);
                }
            }
        }

Usage Example

        public virtual void TestCompoundFileAppendTwice()
        {
            Directory newDir = new NRTCachingDirectory(NewDirectory(), 2.0, 25.0);
            CompoundFileDirectory csw = new CompoundFileDirectory(newDir, "d.cfs", NewIOContext(Random()), true);
            CreateSequenceFile(newDir, "d1", (sbyte)0, 15);
            IndexOutput @out = csw.CreateOutput("d.xyz", NewIOContext(Random()));
            @out.WriteInt(0);
            @out.Dispose();
            Assert.AreEqual(1, csw.ListAll().Length);
            Assert.AreEqual("d.xyz", csw.ListAll()[0]);

            csw.Dispose();

            CompoundFileDirectory cfr = new CompoundFileDirectory(newDir, "d.cfs", NewIOContext(Random()), false);
            Assert.AreEqual(1, cfr.ListAll().Length);
            Assert.AreEqual("d.xyz", cfr.ListAll()[0]);
            cfr.Dispose();
            newDir.Dispose();
        }
All Usage Examples Of Lucene.Net.Store.CompoundFileDirectory::Dispose