Yes it rhymes. :)
Construction would take a instance of an EntityBean, and a String like type (raw, startsWith, endsWith, contains).
For each mapped property in the EntityBean it would...
if (property != null) {
if (property !instanceof String || type == raw) {
add property value to where clause as eq
else
add string property to where clause with appropriate like
}
This will allow the equivalent to hibernate's:
session.createCriteria(Person.class).add(example).list();
AS
Ebean.createQuery(Person.class)
.where(new ReflectionExpression(example, "contains"));