01: /*
02:
03: This software is OSI Certified Open Source Software.
04: OSI Certified is a certification mark of the Open Source Initiative.
05:
06: The license (Mozilla version 1.0) can be read at the MMBase site.
07: See http://www.MMBase.org/license
08:
09: */
10:
11: package org.mmbase.bridge;
12:
13: import org.mmbase.storage.search.*;
14:
15: /**
16: * A Node-Query is a query that queries node-lists, in contradiction to a normal Query which can
17: * query 'cluster nodes' and even more generally 'result nodes' too.
18: *
19: * @author Michiel Meeuwissen
20: * @version $Id: NodeQuery.java,v 1.8 2004/10/09 09:39:32 nico Exp $
21: * @since MMBase-1.7
22: */
23: public interface NodeQuery extends Query {
24:
25: /**
26: * Returns the step for which the fields are added (or null)
27: * @return step for which the fields are added
28: */
29: Step getNodeStep();
30:
31: /**
32: * Removes all fields and add all fields of the given step. This also can have an effect on the
33: * result of getNodeManager().
34: * @param step add all fields of the this step
35: * @return the previously associated step (if there was one, otherwise null).
36: */
37: Step setNodeStep(Step step);
38:
39: /**
40: * Returns the node-manager. Or 'null' if this is not yet determined.
41: * @return node-manager or 'null'
42: */
43: NodeManager getNodeManager();
44:
45: /**
46: * Since in a NodeQuery one of the steps is 'exceptional', also this function makes sense now.
47: * @param field field to get the StepField for.
48: * @return null if field is not of 'the' nodemanager.
49: */
50: StepField getStepField(Field field);
51:
52: }
|