PicoContainer extensions

SequenceParameter

Allows hinting the component's constructor arguments of aggregated types. Both Java arrays and java.util.Collection objects are supported. The elements of the sequence are org.picocontainer.Parameter objects - they may resolve to constants, component references, or nested sequences.

more

Component customization

This mechanism introduces a concept of customized (polymorphic) components. When a customized component is requested during instantiation of a target component, a provider class is asked for an actual object instance, depending on the target component's key and implementation class.

To use this mechanism, you need to use CustmomizingConstructorComponentAdapter instead of ConstructorComponentAdapter for instantiating your compoments. Additionally you need to register CustomizedComponentAdapter for each of the components you want polymorphic, using apropriate CustomizedComponentProvider objects.

more

Enhanced XmlFrontEnd

Ledge XmlFrontEnd has the same functionality as the Nano-provided one but with a few changes and additions.

  • ComponentAdapterFactory may be declared for the top level container
  • ComponentAdapterFactory may be declared using tags, with nesting (DecoratingComponentAdapterFactoryPatern)
  • for both components and component-parameters, both string and class keys may be used
  • SeuqenceParameters are supported
  • The composition is checked against a RelaxNG schema.

more