OGNL based implementations of Property, Item and Container

If you don’t know what OGNL is, look here:



I’m interested in getting feedback on this from more experienced Vaadin developers (I only have a couple of days experience).

To use these implementations you need to also get OGNL itself (and javassists). You can find them here:


12167.java (4.08 KB)
12168.java (2.8 KB)
12169.java (2.89 KB)
12170.java (2.95 KB)

I only took a very quick look at this.

It might be useful to provide notifications of value changes, read-only status changes etc. as that would allow Vaadin components to update their state based on changes on the data API level. You can get most of the code related to this “for free” by inheriting AbstractProperty and AbstractContainer. If using these on read-only data, supporting such listeners might not be necessary, but at least the property class seemed to support write access.

I understand that it is probably not possible to get notifications about value changes that are not made through the property/item/container, though. Not sure if just tracking the changes made through them would help much - it depends on how these classes are used.

Just spent a long time writing a message, and then the forum crashed when I pressed the Publish button… Can’t be bothered to type everything again.

I made some changes, and attach updated files.

OGNL language guide

12171.java (6.53 KB)
12172.java (2.35 KB)
12173.java (2.86 KB)
12174.java (3.42 KB)