The ValueListHandlers architecture has three divisions.
Convert the interface of a class into another interface clients expect.[GoF] The adapters do exactly that. They allow the ValueListHandler to retrieve the data from a "client" without any knowledge of the underlying source and implementation.
This is the only area of the ValueListHandler that a developer may have to contribute to. This is done by implementing the interface: ValueListAdapter.
The architecture for the core ValueListHandler service is very simple.
There is the ValueListHandler interface which has currently one implementation: DefaultValueListHandlerImpl. The DefaultValueListHandlerImpl is configured via Spring. See the configuration details in the overview for how to add adapters to the service.
The view division is the largest part of the ValueListHandler codebase. This was not our intention, but we could not find a good set of view components that fit our requiremnts. So the ValueListHandler developers created components to view the ValueList in a web environment.