Bryan Bende created NIFI-9806:
---------------------------------

             Summary: Introduce base classes in c2/versioned that combine 
extension & configurable component types
                 Key: NIFI-9806
                 URL: https://issues.apache.org/jira/browse/NIFI-9806
             Project: Apache NiFi
          Issue Type: Improvement
            Reporter: Bryan Bende
            Assignee: Bryan Bende


Currently we have the following setup in c2 component manifest model:

_ExtensionComponent_ - base class where type and bundle info exist

_ConfigurableComponentDefinition_ - interface for property related methods

_ProcessorDefinition extends ExtensionComponent implements 
ConfigurableComponentDefinition_

This makes it hard to write generic code for a configurable extension, meaning 
a component that has type/bundle info AND configurable properties.

If you want to declare a generic type you have to do something like:

_T extends ExtensionComponent & ConfigurableComponentDefinition_

We can improve this by introducing an abstract class that extends 
ExtensionComponent and implements ConfigurableComponentDefintiion, then make 
the definitions for processor, controller service, and reporting task extend 
this new class.

A similar scenario exists in the Versioned component model.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to