Class EquiJoinConditionImpl
java.lang.Object
org.apache.jackrabbit.oak.query.ast.JoinConditionImpl
org.apache.jackrabbit.oak.query.ast.EquiJoinConditionImpl
The "a.x = b.y" join condition.
-
Field Summary
FieldsFields inherited from class org.apache.jackrabbit.oak.query.ast.JoinConditionImpl
KNOWN_PARENT_PATH, KNOWN_PATH, KNOWN_VALUE, SPECIAL_PATH_PREFIX
-
Constructor Summary
ConstructorsConstructorDescriptionEquiJoinConditionImpl
(String selector1Name, String property1Name, String selector2Name, String property2Name) -
Method Summary
Modifier and TypeMethodDescriptionvoid
bindSelector
(SourceImpl source) boolean
canEvaluate
(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 String
getLocalPath
(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 String
normalizePath
(String path) Validate and normalize the path.protected String
normalizePropertyName
(String propertyName) Normalize the property name (including namespace remapping).protected String
protected static String
protected static String
void
Apply the condition to the filter, further restricting the filter if possible.void
Push as much of the condition down to this selector, further restricting the selector condition if possible.void
toString()
-
Field Details
-
query
-
-
Constructor Details
-
EquiJoinConditionImpl
-
-
Method Details
-
toString
-
bindSelector
-
evaluate
public boolean evaluate()Description copied from class:JoinConditionImpl
Evaluate the result using the currently set values.- Specified by:
evaluate
in classJoinConditionImpl
- Returns:
- true if the constraint matches
-
restrict
Description copied from class:JoinConditionImpl
Apply the condition to the filter, further restricting the filter if possible. This may also verify the data types are compatible, and that paths are valid.- Specified by:
restrict
in classJoinConditionImpl
- Parameters:
f
- the filter
-
restrictPushDown
Description copied from class:JoinConditionImpl
Push as much of the condition down to this selector, further restricting the selector condition if possible.- Specified by:
restrictPushDown
in classJoinConditionImpl
- Parameters:
s
- the selector
-
isParent
Description copied from class:JoinConditionImpl
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])".- Specified by:
isParent
in classJoinConditionImpl
- Parameters:
source
- the source- Returns:
- true if the source is the parent
-
canEvaluate
Description copied from class:JoinConditionImpl
Whether the join condition can be evaluated if the given selectors are able to retrieve data.- Specified by:
canEvaluate
in classJoinConditionImpl
- Parameters:
available
- the available selectors- Returns:
- true if the condition can be evaluated
-
copyOf
public org.apache.jackrabbit.oak.query.ast.AstElement copyOf()- Returns:
- a clone of self. Default implementation in
AstElement
returns same reference tothis
.
-
protect
-
quote
-
quoteJson
-
setQuery
-
normalizePropertyName
Normalize the property name (including namespace remapping). Asterisks are kept.- Parameters:
propertyName
- the property name to normalize- Returns:
- the normalized (oak-) property name
-
normalizePath
Validate and normalize the path.- Parameters:
path
- the path to validate- Returns:
- the validated and normalized path
-
convertValueToType
-
getLocalPath
Calculate the session local path (the path excluding the workspace name) if possible.- Parameters:
path
- the absolute path- Returns:
- the session local path, or null if not within this workspace
-