Class OuterInnerDirectionalGraph

java.lang.Object
com.espertech.esper.common.internal.epl.join.queryplanouter.OuterInnerDirectionalGraph

public class OuterInnerDirectionalGraph extends Object
This class represents outer-join relationships between outer and inner tables. To add a left outer join between streams 0 and 1 use "add(0, 1)". To add a full outer join between streams 0 and 1 use "add(0, 1)" and "add(1, 0)". To add a right outer join between streams 0 and 1 use "add(1, 0)".
  • Constructor Details

    • OuterInnerDirectionalGraph

      public OuterInnerDirectionalGraph(int numStreams)
      Ctor.
      Parameters:
      numStreams - - number of streams
  • Method Details

    • add

      public OuterInnerDirectionalGraph add(int outerStream, int innerStream)
      Add an outer-to-inner join stream relationship.
      Parameters:
      outerStream - is the stream number of the outer stream
      innerStream - is the stream number of the inner stream
      Returns:
      graph object
    • getInner

      public Set<Integer> getInner(int outerStream)
      Returns the set of inner streams for the given outer stream number.
      Parameters:
      outerStream - is the stream number of the outer stream
      Returns:
      set of inner streams, or null if empty
    • getOuter

      public Set<Integer> getOuter(int innerStream)
      Returns the set of outer streams for the given inner stream number.
      Parameters:
      innerStream - is the stream number of the inner stream
      Returns:
      set of outer streams, or null if empty
    • isInner

      public boolean isInner(int outerStream, int innerStream)
      Returns true if the outer stream has an optional relationship to the inner stream.
      Parameters:
      outerStream - is the stream number of the outer stream
      innerStream - is the stream number of the inner stream
      Returns:
      true if outer-inner relationship between streams, false if not
    • isOuter

      public boolean isOuter(int outerStream, int innerStream)
      Returns true if the inner stream has a relationship to the outer stream.
      Parameters:
      outerStream - is the stream number of the outer stream
      innerStream - is the stream number of the inner stream
      Returns:
      true if outer-inner relationship between streams, false if not
    • print

      public String print()
      Prints out collection.
      Returns:
      textual output of keys and values
    • getUnqualifiedNavigableStreams

      public Map<Integer,Set<Integer>> getUnqualifiedNavigableStreams()
    • addUnqualifiedNavigable

      public void addUnqualifiedNavigable(int streamOne, int streamTwo)