You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Bryan Bende (Jira)" <ji...@apache.org> on 2022/03/17 13:36:00 UTC
[jira] [Created] (NIFI-9806) Introduce base classes in c2/versioned that combine extension & configurable component types
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)