Class AbstractLeafQuery
- java.lang.Object
-
- com.lucidworks.search.dsl.DslBase
-
- com.lucidworks.search.dsl.request.DslCloneable
-
- com.lucidworks.search.dsl.request.query.Query
-
- com.lucidworks.search.dsl.request.query.AbstractLeafQuery
-
- Direct Known Subclasses:
ChangableValueQuery,FieldExistsQuery,MatchAllQuery,ModelQuery,NoOpQuery,RangeQuery
public abstract class AbstractLeafQuery extends Query
An abstract leaf node in a query tree. By default, subclasses have no children and always fail replacement attempts and are always considered non-empty (thus not subject to auto-removal).
-
-
Constructor Summary
Constructors Constructor Description AbstractLeafQuery()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<Query>getChildQueries()Returns all the children of the query in question.booleanisEmptyQuery()booleanremoveChildQuery(Query toRemove)Remove 'toRemove', if 'toRemove' is currently a child of this Query object.booleanreplaceChildQuery(Query toReplace, Query replacement)Swap 'replacement' in as a replacement, if 'toReplace' is currently a child of this Query object.-
Methods inherited from class com.lucidworks.search.dsl.request.DslCloneable
clone, deepClone
-
-
-
-
Method Detail
-
getChildQueries
public java.util.List<Query> getChildQueries()
Description copied from class:QueryReturns all the children of the query in question. The returnedListis provided as a copy - changes made to it do not impact the originating Query object in any way.- Specified by:
getChildQueriesin classQuery
-
replaceChildQuery
public boolean replaceChildQuery(Query toReplace, Query replacement)
Description copied from class:QuerySwap 'replacement' in as a replacement, if 'toReplace' is currently a child of this Query object. Because a tree of Query objects might conceivably have repeated clauses, this method is implemented to test 'toReplace' using reference-equality instead of value-equality.- Specified by:
replaceChildQueryin classQuery- Returns:
- true if a replacement was made, false otherwise.
-
removeChildQuery
public boolean removeChildQuery(Query toRemove)
Description copied from class:QueryRemove 'toRemove', if 'toRemove' is currently a child of this Query object. Because a tree of Query objects might conceivably have repeated clauses, this method is implemented to test 'toRemove' using reference-equality instead of value-equality.- Specified by:
removeChildQueryin classQuery- Returns:
- true if a removal was made, false otherwise.
-
isEmptyQuery
public boolean isEmptyQuery()
- Specified by:
isEmptyQueryin classQuery- Returns:
- true if this query is now essentially "empty" (doesn't affect query logic at all) and can now be removed from the query tree. This can happen, for example, if all child queries were removed and the query logic depends on having at least one child query.
-
-