Class PathImpl

java.lang.Object
org.apache.jackrabbit.oak.query.ast.DynamicOperandImpl
org.apache.jackrabbit.oak.query.ast.PathImpl

public class PathImpl extends DynamicOperandImpl
The function "path(..)".
  • Field Details

  • Constructor Details

    • PathImpl

      public PathImpl(String selectorName)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • bindSelector

      public void bindSelector(SourceImpl source)
    • getPropertyExistence

      public PropertyExistenceImpl getPropertyExistence()
      Description copied from class: DynamicOperandImpl
      Get the property existence condition for this operand, if this operand is used as part of a condition.
      Specified by:
      getPropertyExistence in class DynamicOperandImpl
      Returns:
      the property existence condition, or null if none
    • getSelectors

      public Set<SelectorImpl> getSelectors()
      Description copied from class: DynamicOperandImpl
      Get the set of selectors for this operand.
      Specified by:
      getSelectors in class DynamicOperandImpl
      Returns:
      the set of selectors
    • currentProperty

      public PropertyValue currentProperty()
      Specified by:
      currentProperty in class DynamicOperandImpl
    • restrict

      public void restrict(FilterImpl f, Operator operator, PropertyValue v)
      Description copied from class: DynamicOperandImpl
      Apply a restriction of type "this = value" to the given filter.
      Specified by:
      restrict in class DynamicOperandImpl
      Parameters:
      f - the filter where the restriction is applied.
      operator - the operator (for example "=").
      v - the value
    • restrictList

      public void restrictList(FilterImpl f, List<PropertyValue> list)
      Description copied from class: DynamicOperandImpl
      Apply a restriction of type "this in (list)" to the given filter.
      Specified by:
      restrictList in class DynamicOperandImpl
      Parameters:
      f - the filter where the restriction is applied.
      list - the list of values
    • getFunction

      public String getFunction(SelectorImpl s)
      Description copied from class: DynamicOperandImpl
      Get the function of a function-based index, in Polish notation.
      Specified by:
      getFunction in class DynamicOperandImpl
      Parameters:
      s - the selector
      Returns:
      the function, or null if not supported
    • canRestrictSelector

      public boolean canRestrictSelector(SelectorImpl s)
      Description copied from class: DynamicOperandImpl
      Check whether the condition can be applied to a selector (to restrict the selector). The method may return true if the operand can be evaluated when the given selector and all previous selectors in the join can be evaluated.
      Specified by:
      canRestrictSelector in class DynamicOperandImpl
      Parameters:
      s - the selector
      Returns:
      true if the condition can be applied
    • createCopy

      public DynamicOperandImpl createCopy()
      Specified by:
      createCopy in class DynamicOperandImpl
    • getOrderEntry

      public QueryIndex.OrderEntry getOrderEntry(SelectorImpl s, OrderingImpl o)
      Description copied from class: DynamicOperandImpl
      Create an entry for the "order by" list for a given filter.
      Specified by:
      getOrderEntry in class DynamicOperandImpl
      Parameters:
      s - the selector
      o - the ordering
      Returns:
      the entry
    • protect

      protected String protect(Object expression)
    • quote

      protected static String quote(String pathOrName)
    • quoteJson

      protected static String quoteJson(String string)
    • 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
    • convertValueToType

      protected PropertyValue convertValueToType(PropertyValue v, PropertyValue targetType)
    • 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.