> On Sun, Oct 04, 2009 at 05:53:14AM -0400, Michael McCandless wrote: > > > 1 Do we prevent config settings from changing after creating an > > IW/IR? > > Any settings conveyed via a settings object ought to be final if you want > pluggable index components. Otherwise, you need some nightmarish > notification > system to propagate settings down into your subcomponents, which may or > may > not be prepared to handle the value modifications.
+1, this is an argument in my opinion for final members/settings. By the way, there is a third possibility for passing configuration settings: The idea is to enable passing settings to IR/IW and its flexible indexing components by the same technique like JAXP does it (please don't hit me!): Pass a Properties or Map<String,?> to the ctor/open. The keys are predefined constants. Maybe our previous idea of an IndexConfiguration class is a subclass of HashMap<String,?> with all the constants and some easy-to-use setter methods for very often-used settings (like index dir) and some reasonable defaults. This allows us to pass these properties to any flex indexing component without need to modify/extend it to support the additional properties. The flexible indexing component just defines its own property names (e.g. as URNs, URLs, using its class name as prefix,...). Property names are always String, values any type (therefore Map<String,?>). With Java 5, integer props and so on are no "bad syntax" problem because of autoboxing (no need to pass new Integer() or Integer.valueOf()). Another good thing is, that implementors of e.g. XML config files like in Solr, can simple pass all elements in config to this map. Uwe --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org