If you want to ask me any questions, contact me on no0ne#no_spam_remove_between_hashs# (at) no0ne dot org. Just don't ask me to buy something, 'cause I won't

General purpose

CollectionBeanProperty - a library implementing "JavaBean property"-like using collections

License: BSD


ver. 0.1.2 links and downloads

Project's own page

the binary   the source code and javadoc


  1. enhance the org.no0ne.collectionprop.ListProperty with methods for swapping and rolling the elements
  2. add to the org.no0ne.collectionprop.ListProperty a sortBy(Comparator)
  3. add an ArraySet using an order relationship (Comparator) as a way to ensure the uniqueness.

PropListInjector - a JAXB 2.1 RI xjc pluging to inject bound/restricted listeners support

License: either Sun's CDDL or GPLv2

Due credits: based on the code in the Property listener injector by Jerome Dochez and in the xjc tool in the JAXB 2.1 RI project (namely the com.sun.tools.xjc.generator.bean.field classes) by Kohsuke Kawaguchi

Rationale: address the shortcomings of the Property listener injector plugin in Sun's JAXB2 Commons. This one:

  1. inject bound or restricted or both type of listeners support. Moreover, one can differentially apply the support generation on different XML schema constructs;
  2. requires the customisation of the schema or a binding file (price to pay for the flexibility mentioned above);
  3. makes use of org.no0ne.collectionprop.ListProperty to implement the java.util.List properties of the generated beans. This way, adding/removing elements from these lists will also be signaled to the listeners

Once again, please... Why? Because:

  1. I find much easier to design/maintain my data structures as a XML Schema I afterwards use to generate my classes. Usually, I'm able to write in 2-3 days a schema containing tens to hundreds of types, but it takes me ages (not quite, but that's how I feel) to code these structures by hand;
  2. because a set of data structures does not make (yet) a data model, and I grew tired of wrapping (or deriving, or whatever) some/many of the generated classes to bring them alive - i.e. a code that notifies someone when something relevant is about to change (or changed already).

v 0.2.2 - Links and downloads

Project's own page

A brief User's Guide   the binaries   the sources, docos and other resources