> - make ListView / TableView / TreeView extend a common base class
> (maybe abstract), because they share some operations, and many times I
> have to make changes in all them …

There are two main challenges here:

- The selection state of a ListView or TableView is represented as a collection 
of integers, whereas in TreeView it is a collection of lists of integers. So 
you could probably share selection management code pretty easily between 
ListView and TableView, but maybe not TreeView.

- All three components fire events with their own type as the source. So you'll 
need to change the definition of the event listeners to use a common base class 
as the source, which will break backwards compatibility. Not necessarily a 
show-stopper, just something to be aware of.

> - add an extended JSONSerializer (or add something to the existing
> one, it's a detail for now) to be able to trigger custom code
> (application-specific) when some data has to be converted to/from json

FYI, you can already do something like this by passing a Bean type to the 
JSONSerializer constructor. When given such a type, JSONSerializer will read 
and write data from and to the Bean's properties rather than from and to 
untyped objects like Map and List.

G

Reply via email to