public class DescendantNodeJoinConditionImpl extends JoinConditionImpl
Modifier and Type | Field and Description |
---|---|
protected QueryImpl |
query |
KNOWN_PARENT_PATH, KNOWN_PATH, KNOWN_VALUE, SPECIAL_PATH_PREFIX
Constructor and Description |
---|
DescendantNodeJoinConditionImpl(java.lang.String descendantSelectorName,
java.lang.String ancestorSelectorName) |
Modifier and Type | Method and Description |
---|---|
void |
bindSelector(SourceImpl source) |
boolean |
canEvaluate(java.util.Set<SourceImpl> available)
Whether the join condition can be evaluated if the given selectors are able to retrieve data.
|
protected PropertyValue |
convertValueToType(PropertyValue v,
PropertyValue targetType) |
org.apache.jackrabbit.oak.query.ast.AstElement |
copyOf() |
boolean |
evaluate()
Evaluate the result using the currently set values.
|
protected java.lang.String |
getLocalPath(java.lang.String path)
Calculate the session local path (the path excluding the workspace name)
if possible.
|
boolean |
isParent(SourceImpl source)
Check whether the given source is the parent of the join condition, as
selector "[b]" is the parent of the join condition
"isdescendantnode([a], [b])".
|
protected java.lang.String |
normalizePath(java.lang.String path)
Validate and normalize the path.
|
protected java.lang.String |
normalizePropertyName(java.lang.String propertyName)
Normalize the property name (including namespace remapping).
|
protected java.lang.String |
protect(java.lang.Object expression) |
protected java.lang.String |
quote(java.lang.String pathOrName) |
protected java.lang.String |
quoteJson(java.lang.String string) |
void |
restrict(FilterImpl f)
Apply the condition to the filter, further restricting the filter if
possible.
|
void |
restrictPushDown(SelectorImpl s)
Push as much of the condition down to this selector, further restricting
the selector condition if possible.
|
void |
setQuery(QueryImpl query) |
java.lang.String |
toString() |
protected QueryImpl query
public DescendantNodeJoinConditionImpl(java.lang.String descendantSelectorName, java.lang.String ancestorSelectorName)
public java.lang.String toString()
toString
in class java.lang.Object
public void bindSelector(SourceImpl source)
public boolean evaluate()
JoinConditionImpl
evaluate
in class JoinConditionImpl
public void restrict(FilterImpl f)
JoinConditionImpl
restrict
in class JoinConditionImpl
f
- the filterpublic void restrictPushDown(SelectorImpl s)
JoinConditionImpl
restrictPushDown
in class JoinConditionImpl
s
- the selectorpublic boolean isParent(SourceImpl source)
JoinConditionImpl
isParent
in class JoinConditionImpl
source
- the sourcepublic boolean canEvaluate(java.util.Set<SourceImpl> available)
JoinConditionImpl
canEvaluate
in class JoinConditionImpl
available
- the available selectorspublic org.apache.jackrabbit.oak.query.ast.AstElement copyOf()
AstElement
returns same reference
to this
.protected java.lang.String protect(java.lang.Object expression)
protected java.lang.String quote(java.lang.String pathOrName)
protected java.lang.String quoteJson(java.lang.String string)
public void setQuery(QueryImpl query)
protected java.lang.String normalizePropertyName(java.lang.String propertyName)
propertyName
- the property name to normalizeprotected java.lang.String normalizePath(java.lang.String path)
path
- the path to validateprotected PropertyValue convertValueToType(PropertyValue v, PropertyValue targetType)
protected java.lang.String getLocalPath(java.lang.String path)
path
- the absolute pathCopyright © 2012–2022 The Apache Software Foundation. All rights reserved.