Enum JoinMode

  • All Implemented Interfaces:
    Serializable, Comparable<JoinMode>

    public enum JoinMode
    extends Enum<JoinMode>
    The different join modes supported by join pipes In LEFT mode, all keys from the left pipe (and only them) will be included in the results. In INNER mode, only keys which appear both in left and any of the right pipes will be included. In FULL_INNER mode, only keys which appear both in left and all of the right pipes will be included. In OUTER mode, all keys that appear either in left or any of right pipes will be included.
    Author:
    Eyal Schneider
    • Enum Constant Detail

      • LEFT

        public static final JoinMode LEFT
      • INNER

        public static final JoinMode INNER
      • FULL_INNER

        public static final JoinMode FULL_INNER
      • OUTER

        public static final JoinMode OUTER
    • Method Detail

      • values

        public static JoinMode[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (JoinMode c : JoinMode.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static JoinMode valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • shouldOutput

        public boolean shouldOutput​(JoinRecord<?,​?,​?> joinRec,
                                    int rightPipeCount)
        Parameters:
        joinRec - The candidate join record we wish to check
        rightPipeCount - Number of right pipes in the join
        Returns:
        True if and only if the candidate join record should be emitted
      • resolveProgress

        public float resolveProgress​(Pipe<?> leftPipe,
                                     Collection<? extends Pipe<?>> rightPipes)
        Parameters:
        leftPipe - The left pipe in the join operation (assumed to be started)
        rightPipes - The right pipes in the join operation (assumed to be started)
        Returns:
        The progress computed by checking the progress of all involved pipes
      • canEarlyExit

        public boolean canEarlyExit​(BitSet activePipes,
                                    int rightPipeCount)
        Parameters:
        activePipes - The active pipes, represented as a bitset, where index i refers to pipe with id=i. Id=0 is reserved for left pipe.
        rightPipeCount - Number of right pipes in the join
        Returns:
        true if and only if the current state of the input pipes for the join indicates that an early exit is possible.