Class AndComponent

    • Method Detail

      • expand

        public GraphExpansion expand​(@Nonnull
                                     CorrelationIdentifier base,
                                     @Nonnull
                                     List<String> fieldNamePrefix)
        Description copied from interface: QueryComponent
        Expand this query component into a data flow graph. The returned graph represents an adequate representation of the component as composition of relational expressions and operators.
        Parameters:
        base - a an alias that refers to the data flow equivalent of an input to this component
        fieldNamePrefix - a list of field names that accumulate a field nesting chain for non-repeated fields
        Returns:
        a new GraphExpansion representing the query graph equivalent of this query component
        See Also:
        TODO make this method private in Java 11
      • hashCode

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

        public int planHash​(@Nonnull
                            PlanHashable.PlanHashKind hashKind)
        Description copied from interface: PlanHashable
        Return a hash similar to hashCode, but with the additional guarantee that is is stable across JVMs.
        Parameters:
        hashKind - the "kind" of hash to calculate. Each kind of hash has a particular logic with regards to included and excluded items.
        Returns:
        a stable hash code
      • queryHash

        public int queryHash​(@Nonnull
                             QueryHashable.QueryHashKind hashKind)
        Description copied from interface: QueryHashable
        Return a hash similar to hashCode, but with the additional guarantee that is is stable across JVMs.
        Parameters:
        hashKind - the "kind" of hash to calculate. Each kind of hash has a particular logic with regards to included and excluded items.
        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