Class OrComponent

    • Method Detail

      • normalizeForPlanner

        @Nonnull
        public QueryPredicate normalizeForPlanner​(@Nonnull
                                                  Source source,
                                                  @Nonnull
                                                  List<String> fieldNamePrefix)
        Description copied from interface: QueryComponent
        Convert this query component into an equivalent QueryPredicate by pushing all information about nested and repeated fields to Elements inside of ElementPredicates.

        This normalization process requires tracking some state: the name of a nested field is available only at the relevant NestedField, but that information is necessary to construct the ElementPredicate at the leaves of the sub-tree rooted at that nested field. This extra information is tracked in the given fieldNamePrefix.

        Parameters:
        source - the source representing the input stream of the key expression
        fieldNamePrefix - the (non-repeated) field names on the path from the most recent source to this part of the query component
        Returns:
        an equivalent query predicate
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • planHash

        public int planHash()
        Description copied from interface: PlanHashable
        Return a hash similar to hashCode, but with the additional guarantee that is is stable across JVMs.
        Returns:
        a stable hash code
      • getChildren

        @Nonnull
        public List<QueryComponent> getChildren()
        Children for this component, at least 2 of them.
        Returns:
        the children of this component