public abstract class JoinConditionImpl
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
KNOWN_PARENT_PATH
The parent path of the joined selector
|
protected static java.lang.String |
KNOWN_PATH
A path for a join.
|
protected static java.lang.String |
KNOWN_VALUE |
protected QueryImpl |
query |
static java.lang.String |
SPECIAL_PATH_PREFIX
The prefix for known paths.
|
Constructor and Description |
---|
JoinConditionImpl() |
Modifier and Type | Method and Description |
---|---|
abstract 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) |
@NotNull org.apache.jackrabbit.oak.query.ast.AstElement |
copyOf() |
abstract 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.
|
abstract 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) |
abstract void |
restrict(FilterImpl f)
Apply the condition to the filter, further restricting the filter if
possible.
|
abstract 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) |
public static final java.lang.String SPECIAL_PATH_PREFIX
protected static final java.lang.String KNOWN_PATH
protected static final java.lang.String KNOWN_PARENT_PATH
protected static final java.lang.String KNOWN_VALUE
protected QueryImpl query
public abstract boolean evaluate()
public abstract void restrict(FilterImpl f)
f
- the filterpublic abstract void restrictPushDown(SelectorImpl s)
s
- the selectorpublic abstract boolean isParent(SourceImpl source)
source
- the sourcepublic abstract boolean canEvaluate(java.util.Set<SourceImpl> available)
available
- the available selectorsprotected 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 path@NotNull public @NotNull org.apache.jackrabbit.oak.query.ast.AstElement copyOf()
AstElement
returns same reference
to this
.Copyright © 2012–2022 The Apache Software Foundation. All rights reserved.