public void T02_PipeRowQualifier() { PipeRowQualifier builder = new PipeRowQualifier(); builder.appendKeyPart(new QualifierExact("test")); builder.appendKeyPart(new QualifierExact("blah")); Assert.AreEqual("/=test/=blah", builder.ToString()); }
internal override void _generateRowQualifierFromContext(PipeHdfContext ctx, PipeRowQualifier rob) { QualifierBase qual = ctx.getQualifier(this.context_key); if (qual != null) { rob.appendKeyPart(qual); } else { throw new PipeGenerateException(this, "missing context: " + this.context_key); } this.next_stage._generateRowQualifierFromContext(ctx, rob); }
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); } }
internal override void _generateRowQualifierFromContext(PipeHdfContext ctx, PipeRowQualifier rob) { }
internal abstract void _generateRowQualifierFromContext(PipeHdfContext ctx, PipeRowQualifier rowb);
public PipeRowQualifier generateRowFromContext(PipeHdfContext ctx) { // generate our own rowparts PipeRowQualifier builder = new PipeRowQualifier(); this._generateRowQualifierFromContext(ctx, builder); return builder; }