README.textile

January 19, 2011 ยท View on GitHub

h1. ScalaModules

ScalaModules is an elegant and intuitive domain specific language for "OSGi":http://www.osgi.org development written in the "Scala":http://www.scala-lang.org 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":http://wiki.github.com/weiglewilczek/scalamodules or take a look at the "examples":http://github.com/weiglewilczek/scalamodulesexamples.

ScalaModules is open source software licensed under the "Apache 2.0 License":http://www.apache.org/licenses/LICENSE-2.0.html. Just use it!