a description for the component.
a human readable name of the component.
a map describing configuration properties for this component. The keys have to be unique to avoid name clashes with properties from other components.
a prefix to be used for arbitrary extra configuration. Typically extra configuration is required to pass on configuration properties, e.g. to DataStreamWriter.options
This trait should be implemented by all implementations of ComponentFactory to provide a self-description how the component should be used and configured. This information may be used by external applications that automatically discover components