I want to do exactly what java's String Template does, but in scala. This library however does not work with case classes:

```
case class Obj(str:String)
val st = new ST("xx $obj.str$ xx",'$','$')
st.add("obj",Obj("replacement"))
st.render()  //returns "xx  xx"

```

ST tries to find property "str" with reflection, but it just does not work with scala.

How can I achieve it without ST?