Wicketopia is driven by metadata (data about data) you add to your bean classes. It uses the Metastopheles metadata library to generate and access that metadata. Here's an example:

Metadata-Annotated Property...

@Length(min = 25)
public String getDescription()
  return description;

Here, we have a "description" property with annotations on it specifying:

  • The property should be displayed in position 1
  • The property should be edited using a text area
  • The property is required
  • The property must be at least 25 characters
  • The property is hidden in list (showing a list of beans) context

There are other annotations, but you get the idea. Wicketopia uses this metadata to automatically generate components for you that are "bound" to your bean's properties.