That is called a "self-type annotation" and it requires that any use of trait DatabaseSessionSupport
in an instantiable class must be accompanied by ("mixed in with") a type consistent with ScalatraBase
. I have not looked at this specific code, but it is most likely a use of the so-called "Cake Pattern."
You can find many treatments of this concept both in Stack Overflow, in various blogs and in a classic paper by Odersky et. al. titled "Scalable Component Abstractions."