ScalaModules is an elegant and intuitive domain specific language for OSGi development written in the Scala programming language.
Why would you need such a DSL? Because the OSGi API is rather low-level so that programming simple tasks, e.g. consuming an OSGi service, can be quite cumbersome. ScalaModules offers high-level abstractions for the most important OSGi concepts so that you can focus on what is to be done instead of how it should be done. Let’s look at a simple example:
context findServices withInterface[Greeting] withFilter "style".present andApply {
(greeting, properties) => "%s: %s".format(properties("style"), greeting.welcome)
} match {
case Nil => println("No Greeting service available!")
case welcomes => welcomes foreach println
}
For further information please visit our Wiki or take a look at the examples.
ScalaModules is open source software licensed under the Apache 2.0 License. Just use it!