module Puppet::Pops::Binder::Producers

This module contains the various producers used by Puppet Bindings. The main (abstract) class is {Puppet::Pops::Binder::Producers::Producer} which documents the Producer API and serves as a base class for all other producers. It is required that custom producers inherit from this producer (directly or indirectly).

The selection of a Producer is typically performed by the Innjector when it configures itself from a Bindings model where a {Puppet::Pops::Binder::Bindings::ProducerDescriptor} describes which producer to use. The configuration uses this to create the concrete producer. It is possible to describe that a particular producer class is to be used, and also to describe that a custom producer (derived from Producer) should be used. This is available for both regular bindings as well as multi-bindings.

@api public