Author: ssmiweve Date: 2009-08-08 20:38:51 +0200 (Sat, 08 Aug 2009) New Revision: 7262
Modified: branches/2.18/search-command-config-spi/src/main/java/no/sesat/search/mode/SearchModeFactory.java Log: javadoc http://permalink.gmane.org/gmane.comp.java.sesat.kernel.devel/268 Modified: branches/2.18/search-command-config-spi/src/main/java/no/sesat/search/mode/SearchModeFactory.java =================================================================== --- branches/2.18/search-command-config-spi/src/main/java/no/sesat/search/mode/SearchModeFactory.java 2009-07-23 10:20:07 UTC (rev 7261) +++ branches/2.18/search-command-config-spi/src/main/java/no/sesat/search/mode/SearchModeFactory.java 2009-08-08 18:38:51 UTC (rev 7262) @@ -1,4 +1,4 @@ -/* Copyright (2006-2008) Schibsted ASA +/* Copyright (2006-2009) Schibsted ASA * This file is part of SESAT. * * SESAT is free software: you can redistribute it and/or modify @@ -53,9 +53,32 @@ import no.sesat.search.mode.config.querybuilder.QueryBuilderConfig; import no.sesat.search.run.handler.RunHandlerConfig; -/** Controlling class around the deserialisation of modes.xml into all the SearchModes. - * This in turn deserialises all SearchConfigurations, QueryTransformers, QueryBuilders, and ResultHandlers. +/**<p> + * Controlling class around the deserialisation of modes.xml into all the SearchModes. + * This in turn deserialises all SearchConfigurations, QueryTransformers, QueryBuilders, and ResultHandlers.</p><p> * + * Deserialisation of xml elements to configuration classes works through each implementation of AbstractDocumentFactory + * These being: <br/> + * mode --> SearchModeFactory<br/> + * *-commands --> SearchModeFactory.SearchCommandFactory</br> + * query-builder --> QueryBuilderFactory<br/> + * query-transformers --> QueryTransformerFactory<br/> + * result-handlers --> ResultHandlerFactory<br/> + * run-handlers --> RunHandlerFactory<br/></p><p> + * + * The lookup of configuration classname from the xml element name generally follows the pattern provided by the + * @see #xmlToBeanName(java.lang.String) method. + * But each AbstractDocumentFactory.findClass(..) provides the final implementations with details of which package to + * look in and any static Prefix and Suffixes to the classname.</p><p> + * For search configuration classes the implementation is such:<br/> + * 1) to be found in the no.sesat.search.mode.config package<br/> + * 2) the first character always becomes uppercase (to suit java standards for naming classes)<br/> + * 3) the suffix "Config" is added.<br/> + * For example <solr-command id="abc" .../> becomes "SolrCommandConfig". + * </p><p> + * The lookup from configuration class to control class happens via the value of the Controller annotation. + * (There's discussion in moving this annotation to a normal string attribute in the configuration bean). + * </p> * @version <tt>$Id$</tt> */ public final class SearchModeFactory extends AbstractDocumentFactory implements SiteKeyedFactory { _______________________________________________ Kernel-commits mailing list [email protected] http://sesat.no/mailman/listinfo/kernel-commits
