| org.mmbase.bridge.Query
All known Subclasses: org.mmbase.bridge.implementation.BasicQuery,
Query | public interface Query extends SearchQuery,Cloneable(Code) | | Representation of a (database) query. It is modifiable for use by bridge-users.
author: Michiel Meeuwissen author: Pierre van Rooden version: $Id: Query.java,v 1.45 2008/02/16 22:13:53 nklasens Exp $ since: MMBase-1.7 See Also: org.mmbase.bridge.util.Queries |
Method Summary | |
AggregatedField | addAggregatedField(Step step, Field field, int aggregationType) | StepField | addField(Step step, Field field) Adds a field to a step. | StepField | addField(String field) | void | addNode(Step s, Node node) Adds a node to a step. | void | addNode(Step s, int number) | RelationStep | addRelationStep(NodeManager nodeManager, String role, String searchDir) Adds new Relation step to the query. | RelationStep | addRelationStep(NodeManager otherManager) If you need to add a 'related' NodeManager without specifying a role/searchDir
simply use these addRelationStep. | SortOrder | addSortOrder(StepField f, int direction, boolean caseSensitive, int part) Adds an order on a certain field. | SortOrder | addSortOrder(StepField f, int direction, boolean caseSensitive) | SortOrder | addSortOrder(StepField f, int direction) Defaulting version of
Query.addSortOrder(StepField,int,boolean,int) (sorting case
insensitively, and no date parts). | Step | addStep(NodeManager nodeManager) Adds a NodeManager to this Query. | Query | aggregatingClone() Creates an unused aggregate clone of this query. | Object | clone() | Query | cloneWithoutFields() | LegacyConstraint | createConstraint(String s) Create a contraint (for use with this Query object). | FieldNullConstraint | createConstraint(StepField f) Create a contraint (for use with this Query object). | FieldValueConstraint | createConstraint(StepField f, Object v) Create a contraint (for use with this Query object). | FieldValueConstraint | createConstraint(StepField f, int op, Object v) Create a contraint (for use with this Query object). | FieldValueConstraint | createConstraint(StepField f, int op, Object v, int part) Create a contraint (for use with this Query object). | CompareFieldsConstraint | createConstraint(StepField f, int op, StepField v) Create a contraint (for use with this Query object). | FieldValueBetweenConstraint | createConstraint(StepField f, Object o1, Object o2) Create a contraint (for use with this Query object). | FieldValueInConstraint | createConstraint(StepField f, SortedSet<? extends Object> v) Create a contraint (for use with this Query object). | CompositeConstraint | createConstraint(Constraint c1, int op, Constraint c2) Combines two Constraints to one new one, using a boolean operator (AND or OR). | StepField | createStepField(Step step, Field field) Creates a StepField object withouth adding it (needed for aggregated queries). | StepField | createStepField(Step step, String fieldName) Creates a StepField object withouth adding it (needed for aggregated queries). | StepField | createStepField(String fieldIdentifer) Creates the step field for the given name. | Constraint | getCleanConstraint() Gets the 'clean' constraint on this query. | Cloud | getCloud() Returns the Cloud for which this Query was defined. | NodeList | getList() Executes the query and returns the resulting node list. | Step | getStep(String stepAlias) | boolean | isAggregating() Whether this query is 'aggregating'. | boolean | isDistinct() | boolean | isUsed() Whether this query was used or not. | boolean | markUsed() Mark this query 'used'. | void | removeFields() Removes all fields from the Query object. | void | setAlias(Step step, String alias) Sets the alias to the given step.
Parameters: step - step to add the alias for Parameters: alias - The alias which must be given to the step. | FieldConstraint | setCaseSensitive(FieldConstraint constraint, boolean sensitive) Changes the given constraint's 'case sensitivity' (if applicable). | void | setConstraint(Constraint c) The (composite) constraint can actually be set into the query with this method. | Query | setDistinct(boolean distinct) Specifies wether the query result must contain only 'distinct' results. | Constraint | setInverse(Constraint c, boolean i) Changes the given constraint's 'inverse' (if applicable). | Query | setMaxNumber(int maxNumber) Limits the query-result to maxNumber records. | Query | setOffset(int offset) Offsets the query-result with offset records. | String | toSql() Shows the query in a human-readable SQL form. |
addAggregatedField | AggregatedField addAggregatedField(Step step, Field field, int aggregationType)(Code) | | Add an aggregated field to a step
Parameters: step - step to add field to Parameters: field - field to add Parameters: aggregationType - Type of aggregation new AggregatedField |
addField | StepField addField(Step step, Field field)(Code) | | Adds a field to a step.
Parameters: step - step to add field to Parameters: field - field to add new StepField |
addField | StepField addField(String field)(Code) | | Adds a field by string
Parameters: field - field to add new StepField |
addNode | void addNode(Step s, Node node)(Code) | | Adds a node to a step.
Parameters: s - step Parameters: node - node to add |
addNode | void addNode(Step s, int number)(Code) | | Parameters: s - query step Parameters: number - node number since: MMBase-1.8 |
addRelationStep | RelationStep addRelationStep(NodeManager otherManager)(Code) | | If you need to add a 'related' NodeManager without specifying a role/searchDir
simply use these addRelationStep.
Parameters: otherManager - node manager on the other side of the relation new Relation step |
addStep | Step addStep(NodeManager nodeManager)(Code) | | Adds a NodeManager to this Query. This can normally be done only once. After that you need
to use (one of the) 'addRelationStep'.
Parameters: nodeManager - The nodeManager associated with the step. The 'step' wrapping the NodeManager. throws: IllegalArgumentException - when an invalid argument is supplied. See Also: Query.addRelationStep(NodeManager) |
aggregatingClone | Query aggregatingClone()(Code) | | Creates an unused aggregate clone of this query. If this query is not itself aggregated, all
fields are removed (but the contraints on them remain), and you can add aggregated fields
then.
Cloned Query |
clone | Object clone()(Code) | | Create an (unused) clone
Cloned Query |
cloneWithoutFields | Query cloneWithoutFields()(Code) | | Clones this object, only without the fields
Cloned Query |
createConstraint | FieldNullConstraint createConstraint(StepField f)(Code) | | Create a contraint (for use with this Query object). The given field must be 'null'.
Parameters: f - Stepfield FieldNullConstraint |
createConstraint | FieldValueConstraint createConstraint(StepField f, Object v)(Code) | | Create a contraint (for use with this Query object). The given field must equal the given
value 'v'.
Parameters: f - field Parameters: v - value FieldValueConstraint |
createConstraint | FieldValueConstraint createConstraint(StepField f, int op, Object v)(Code) | | Create a contraint (for use with this Query object). The given field and the given
value 'v', combined with given operator must evaluate to true.
Parameters: f - field Parameters: op - operator Parameters: v - value FieldValueConstraint |
createConstraint | FieldValueConstraint createConstraint(StepField f, int op, Object v, int part)(Code) | | Create a contraint (for use with this Query object). The given date field and the given
value 'v', combined with given operator must evaluate to true for the specified date part.
Parameters: f - field Parameters: op - operator Parameters: v - value Parameters: part - part of the date value FieldValueConstraint |
createConstraint | CompareFieldsConstraint createConstraint(StepField f, int op, StepField v)(Code) | | Create a contraint (for use with this Query object). The two given fields , combined with
given operator must evaluate to true.
Parameters: f - field Parameters: op - operator Parameters: v - value CompareFieldsConstraint |
createConstraint | FieldValueBetweenConstraint createConstraint(StepField f, Object o1, Object o2)(Code) | | Create a contraint (for use with this Query object). The given field must lie between the
two given values.
Parameters: f - field Parameters: o1 - value one Parameters: o2 - value two FieldValueBetweenConstraint |
createConstraint | FieldValueInConstraint createConstraint(StepField f, SortedSet<? extends Object> v)(Code) | | Create a contraint (for use with this Query object). The given field value must be contained
by the given set of values. If the given set is empty, a FieldValueInConstraint will be
constructed for the number field in stead ('number IN (-1)'), which ensures that also in that
case the logical thing will happen. (' IN ()' fails in most databases).
Parameters: f - field Parameters: v - value the new Constraint. |
createConstraint | CompositeConstraint createConstraint(Constraint c1, int op, Constraint c2)(Code) | | Combines two Constraints to one new one, using a boolean operator (AND or OR). Every new
constraint must be combined with the ones you already have with such a new CompositeConstraint.
If the first constraint is a composite constraint (with the same logical operator), then the
second one will simply be added.
Parameters: c1 - constraint one Parameters: op - operator (CompositeConstraint.LOGICAL_AND, CompositeConstraint.LOGICAL_OR) Parameters: c2 - constraint two a Composite constraint (might not be a new one) |
createStepField | StepField createStepField(Step step, Field field)(Code) | | Creates a StepField object withouth adding it (needed for aggregated queries).
Parameters: step - step to create StepField from Parameters: field - field to create StepField from new StepField |
createStepField | StepField createStepField(Step step, String fieldName)(Code) | | Creates a StepField object withouth adding it (needed for aggregated queries).
Parameters: step - step to create StepField from Parameters: fieldName - name of field to create StepField from new StepField |
createStepField | StepField createStepField(String fieldIdentifer)(Code) | | Creates the step field for the given name. For a NodeQuery the arguments is simply the name of the
field. For a 'normal' query, it should be prefixed by the (automatic) alias of the Step.
Parameters: fieldIdentifer - field identifier to create StepField from new StepField |
getCleanConstraint | Constraint getCleanConstraint()(Code) | | Gets the 'clean' constraint on this query. I.e. the constraint which were automaticly added
because of security are stripped away, and it is garanteed that you get back what you put in.
It is adviced that you use this in stead of SearchQuery#getConstraint, because that function
is used by the Query handlers, which do need the security constraints. But otherwise
you don't want to see those.
Constraint since: MMBase-1.7.1 |
getCloud | Cloud getCloud()(Code) | | Returns the Cloud for which this Query was defined.
Cloud |
getList | NodeList getList()(Code) | | Executes the query and returns the resulting node list.
resulting node list since: MMBase-1.8 |
getStep | Step getStep(String stepAlias)(Code) | | Returns the step with given alias, or null if it is not present
Parameters: stepAlias - Alias for the step (may also be tableName, in which case the first step for this table is returned) step with given alias |
isAggregating | boolean isAggregating()(Code) | | Whether this query is 'aggregating'. You can only use 'addAggregatedField' on aggregating querys.
true if the query is aggregating |
isUsed | boolean isUsed()(Code) | | Whether this query was used or not. If is was used, then you cannot modify it anymore (would
kill caches, and references to 'original query' would get invalid)
query already used or not |
markUsed | boolean markUsed()(Code) | | Mark this query 'used'. It has to be copied first, if you want to add things to it.
if this query is was used before this method call |
removeFields | void removeFields()(Code) | | Removes all fields from the Query object.
|
setAlias | void setAlias(Step step, String alias)(Code) | | Sets the alias to the given step.
Parameters: step - step to add the alias for Parameters: alias - The alias which must be given to the step. If it is "" an alias should begenerated. 'null' removes the alias. |
setCaseSensitive | FieldConstraint setCaseSensitive(FieldConstraint constraint, boolean sensitive)(Code) | | Changes the given constraint's 'case sensitivity' (if applicable). Default it is true.
Parameters: constraint - constraint to change Parameters: sensitive - case sensitivity modified FieldConstraint |
setConstraint | void setConstraint(Constraint c)(Code) | | The (composite) constraint can actually be set into the query with this method.
Parameters: c - constraint |
setInverse | Constraint setInverse(Constraint c, boolean i)(Code) | | Changes the given constraint's 'inverse' (if applicable). Default it is (of course) false.
Parameters: c - constraint Parameters: i - inverse Inversed contraint |
toSql | String toSql()(Code) | | Shows the query in a human-readable SQL form. This is probably not the query which will
actually be sent to the database. This method is provided because 'toString' on a Query object
is pretty complete, but pretty undigestable for mere mortals too.
human-readable SQL since: MMBase-1.8 |
|
|