Talend functions are not evaluated by the jexl expression processor. You can only use field (in your input row) in a jexl expression. As you can see in the generated java code, the only parameter passed to the method is the row and all its fields
com.bekwam.talend.component.scriptrules.Result result_tScriptRules_1 = rulesBean_tScriptRules_1.process(row1, row2, row3, counter_tScriptRules_1);
- row1 : the input rows
- row2 : the filtered rows
- row3 : the rejected rows
You can modify the tscriptrules-2.0.1.jar library if you want to add Talend method evaluation in the jexl expression processor.
Instead, I would suggest to use a tmap to do this kind of data quality check
tMap Design : http://imageshack.us/a/img842/879/talendtmap.jpg tMap Result : http://imageshack.us/a/img541/5950/talendtmapresult.jpg