lucenenet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicholas Paldino [.NET/C# MVP]" <casper...@caspershouse.com>
Subject LUCENENET-218, LUCENENET-219
Date Tue, 10 Nov 2009 07:27:12 GMT
                Ok, so it's my first day, and I apologize if I did some
things out of line.

 

                LUCENENET-218.patch (attached to the issue) has the
implementation of GeneralKeyedCollection.

 

                LUCENENET-219.patch has the changes to CompoundFileWriter,
following best practices involving iterators, and uses the new
GeneralKeyedCollection class to handle ordered insertions that are looked up
by key (looked up for uniqueness in the Add method).

 

                Some things to notice in the CompoundFileWriter:

 

- Fixed up code involving using iterators (using foreach instead of direct
call to GetEnumerator).

- Adding item to entries is type-safe and a compile-time check now (was not
with ArrayList).

- Order of additions is preserved when adding even though lookups are
possible on the entries field.

- Declared entries as readonly, given the reference itself is never mutated.

- Changed some exception types to conform with best practice guidelines for
.NET development:

                - ArgumentNullException instead of NullReferenceException if
an argument is null.

                - InvalidOperationException instead of SystemException
(SystemException is meant for the BCL, not for general consumption).

 

                I'll find the documentation on how to contribute (as well as
code standards and the like) eventually, but if someone wants to point me in
the right direction, by all means, please do =)

 

                                - Nick


Mime
View raw message