| There are two interfaces that are central to Wicket RAD, that may not be visible to the developer a lot of the time, but that are still useful to know about, especially if you intend to implement custom annotations and/or behaviors, components and datasources. These are IPropertyCollection and IProperty - these two interfaces are used by Wicket RAD most of the time to deal with data from different sources in an implementation independent fashion: For instance a generated form from a bean would typically be represented internally in Wicket RAD by an IPropertyCollection containing a number of IProperties to represent the individual properties of a bean - so for each property a bean has, the IPropertyCollection would have an IProperty with the same name. If the source on the other hand was a database table, it is quite likely a row would be represented by an IPropertyCollection and each column by an IProperty. This is the very simple and short of it, and it really isn't much more complex than that, it is simply a way of allowing generated forms, tables and other components to easily deal with data from any source, and for the most part it will be completely transparent to the developer. |