package Ġio . em 2 m . simp lex . std Ċ Ċ import Ġio . em 2 m . simp lex . model . Basic Pipe Transform Resolver Ċ import Ġio . em 2 m . simp lex . model . Expr Context Ċ import Ġio . em 2 m . simp lex . model . Pipe Transform ĊĊ Ċ class ĠSelect Pipe Ġ: ĠPipe Transform Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġmapping Name : ĠString Ġ= Ġ" mapping " ĊĊĠĠĠ Ġoverride Ġfun Ġargs ( args : ĠList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( args . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmapping Name Ġ= Ġargs [ 0 ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtransform ( value : ĠAny ?, Ġcontext : ĠExpr Context ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmapping Ġ= Ġcontext [ mapping Name ] Ġas ? ĠMap < *, Ġ*> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠIllegalArgumentException (" No Ġvalue Ġfound Ġfor Ġpipe Ġparameter ") ĊĠĠĠĠĠĠĠ Ġreturn Ġmapping [ value . toString ()] Ġ?: Ġmapping [" other "] Ġ?: Ġvalue ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ object ĠI 1 8 n Ġ{ ĊĊĠĠĠ Ġval Ġpipes Ġ= ĠBasic Pipe Transform Resolver () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transform (" select ") Ġ{ ĠSelect Pipe () Ġ} Ċ }