public void setBroadcastInputs ( List < NamedChannel > broadcastInputs ) { if ( broadcastInputs != null ) { this . broadcastInputs = broadcastInputs ; // update the branch map for ( NamedChannel nc : broadcastInputs ) { PlanNode source = nc . getSource ( ) ; mergeBranchPlanMaps ( branchPlan , source . branchPlan ) ; } } // do a sanity check that if we are branching, we have now candidates for each branch point if ( this . template . hasUnclosedBranches ( ) ) { if ( this . branchPlan == null ) { throw new CompilerException ( "Branching and rejoining logic did not find a candidate for the branching point." ) ; } for ( UnclosedBranchDescriptor uc : this . template . getOpenBranches ( ) ) { OptimizerNode brancher = uc . getBranchingNode ( ) ; if ( this . branchPlan . get ( brancher ) == null ) { throw new CompilerException ( "Branching and rejoining logic did not find a candidate for the branching point." ) ; } } } }
Sets a list of all broadcast inputs attached to this node .