Bend.PipeStageMux._generateRowQualifierFromContext C# (CSharp) Method

_generateRowQualifierFromContext() private method

private _generateRowQualifierFromContext ( PipeHdfContext ctx, PipeRowQualifier rob ) : void
ctx PipeHdfContext
rob PipeRowQualifier
return void
        internal override void _generateRowQualifierFromContext(PipeHdfContext ctx, PipeRowQualifier rob)
        {
            // TODO typecheck this cast and throw a useful execption
            QualifierExact mux_key = (QualifierExact) ctx.getQualifier(this.context_key, this.default_muxvalue);

            if (mux_key != null) {
                rob.appendKeyPart(mux_key);
                {
                    PipeStage next_stage;
                    try {
                        next_stage = this.mux_map[mux_key];
                    }
                    catch (KeyNotFoundException) {
                        throw new PipeGenerateException(this, "missing mux_map entry for: " +
                            this.context_key + " : " + mux_key);
                    }
                    next_stage._generateRowQualifierFromContext(ctx, rob);
                }
            } else {
                throw new PipeGenerateException(this, "missing mux context: " + this.context_key);
            }
        }