Tino Duong just kindly contributed his "dynamic SODA" implementation. In Tino's own words:
"This project aims to provide an instrument that allows developers to dynamically create db4o query strings that can be executed without having to write and compile java code. To achieve this, the SODA querying method was extended upon, and a simple and intuitive syntax was created -- referred to as the Dynamic SODA Language or dSL. Using this syntax and the Dynamic SODA Language interpreter, a developer can quickly write and execute queries in a similar fashion to the standard SQL string.
An example dSL query is listed below.
((q |t Person |d’name’ |c’Frank’) |& (q |t Person |d’age’ |c30))
This query string contains the necessary syntax to retrieve an object of type 'Person' who has the name 'Frank' and the age '30'. "
Take a look at the examples and source code available in the Dynamic SODA project page.
Thanks Tino for this valuable contribution (which will surely be useful to people that want to build SODA queries on the fly during runtime).