/** * Given a query item in its XML element form, returns the corresponding * query item. */ public QueryItem determineQueryItem (final Query parentQuery, final Object o) throws QueryException { final org.jdom.Element elt = (org.jdom.Element)o; final String classname = (String)this.config.get(elt.getName()); //log.debug("determineQueryItem() classname : "+classname); if (classname == null) { throw new QueryException ("no query item class for elt named '"+elt.getName()+"'"); } final QueryItem qi = (QueryItem)ReflectionUtils.buildNewInstance(classname); qi.init(this, parentQuery, elt); //if (parentQuery != null) parentQuery.put(qi); return qi; }