KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > storage > search > ResultBuilder


1 /*
2
3 This software is OSI Certified Open Source Software.
4 OSI Certified is a certification mark of the Open Source Initiative.
5
6 The license (Mozilla version 1.0) can be read at the MMBase site.
7 See http://www.MMBase.org/license
8
9 */

10 package org.mmbase.storage.search;
11
12 import java.util.*;
13 import org.mmbase.bridge.Field;
14 import org.mmbase.module.core.*;
15 import org.mmbase.util.logging.*;
16
17 /**
18  * A <code>ResultBuilder</code> is a builder for
19  * {@link ResultNode ResultNodes}, that represent the results of executing
20  * an arbitrary search query.
21  * <p>
22  * This builder contains info on the fields of the resultnodes.
23  *
24  * @author Rob van Maris
25  * @version $Id: ResultBuilder.java,v 1.8 2005/11/04 23:34:42 michiel Exp $
26  * @since MMBase-1.7
27  */

28 public class ResultBuilder extends VirtualBuilder {
29
30     private static final Logger log = Logging.getLoggerInstance(ResultBuilder.class);
31
32     /**
33      * Creator.
34      * Creates new <code>ResultBuilder</code> instance, used to represent
35      * the results of executing a search query.
36      *
37      * @param mmbase MMBase instance.
38      * @param query The search query that defines the search.
39      */

40     public ResultBuilder(MMBase mmbase, SearchQuery query) {
41         super(mmbase);
42
43         // Create fieldsByAlias map.
44
List queryFields = query.getFields();
45         Iterator i = queryFields.iterator();
46         while (i.hasNext()) {
47             StepField field = (StepField) i.next();
48             String JavaDoc fieldAlias = field.getAlias();
49             if (fieldAlias == null) {
50                 fieldAlias = field.getFieldName();
51             }
52             fields.put(fieldAlias, org.mmbase.core.util.Fields.createField(fieldAlias, field.getType(), -1, Field.STATE_VIRTUAL, null));;
53         }
54     }
55
56     // javadoc is inherited
57
public MMObjectNode getNewNode(String JavaDoc owner) {
58         return new ResultNode(this);
59     }
60
61 }
62
Popular Tags