Enum JoinMode
- java.lang.Object
-
- java.lang.Enum<JoinMode>
-
- org.pipecraft.pipes.sync.inter.join.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 Summary
Enum Constants Enum Constant Description FULL_INNERINNERLEFTOUTER
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanEarlyExit(BitSet activePipes, int rightPipeCount)floatresolveProgress(Pipe<?> leftPipe, Collection<? extends Pipe<?>> rightPipes)booleanshouldOutput(JoinRecord<?,?,?> joinRec, int rightPipeCount)static JoinModevalueOf(String name)Returns the enum constant of this type with the specified name.static JoinMode[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
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 nameNullPointerException- if the argument is null
-
shouldOutput
public boolean shouldOutput(JoinRecord<?,?,?> joinRec, int rightPipeCount)
- Parameters:
joinRec- The candidate join record we wish to checkrightPipeCount- 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.
-
-