call name of method contained in a string

groovy

Solution

Dynamic method invocation looks like this

obj."$val"()

Problem

How can I call a method based on the value of a string in Groovy? For example instead of ``` switch (val) { case "one": Obj.one() break case "two": Obj.two() break } ``` I’d like to do something like `obj.val` where `val` contains either "one" or "two" instead of a case statement.

Original source