Class JoinConditionImpl

    • Constructor Detail

      • JoinConditionImpl

        public JoinConditionImpl()
    • Method Detail

      • evaluate

        public abstract boolean evaluate()
        Evaluate the result using the currently set values.
        Returns:
        true if the constraint matches
      • restrict

        public abstract void restrict​(FilterImpl f)
        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.
        Parameters:
        f - the filter
      • restrictPushDown

        public abstract void restrictPushDown​(SelectorImpl s)
        Push as much of the condition down to this selector, further restricting the selector condition if possible.
        Parameters:
        s - the selector
      • isParent

        public 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])".
        Parameters:
        source - the source
        Returns:
        true if the source is the parent
      • canEvaluate

        public abstract boolean canEvaluate​(Set<SourceImpl> available)
        Whether the join condition can be evaluated if the given selectors are able to retrieve data.
        Parameters:
        available - the available selectors
        Returns:
        true if the condition can be evaluated
      • setQuery

        public void setQuery​(QueryImpl query)
      • normalizePropertyName

        protected String normalizePropertyName​(String propertyName)
        Normalize the property name (including namespace remapping). Asterisks are kept.
        Parameters:
        propertyName - the property name to normalize
        Returns:
        the normalized (oak-) property name
      • normalizePath

        protected String normalizePath​(String path)
        Validate and normalize the path.
        Parameters:
        path - the path to validate
        Returns:
        the validated and normalized path
      • getLocalPath

        protected String getLocalPath​(String path)
        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
      • copyOf

        @NotNull
        public @NotNull org.apache.jackrabbit.oak.query.ast.AstElement copyOf()
        Returns:
        a clone of self. Default implementation in AstElement returns same reference to this.