Skip to content

Commit 46379fb

Browse files
authored
NIFI-15787 - Add Metadata-Only Parameter Listing to ParameterProvider (#82)
Signed-off-by: Kevin Doran <kdoran@apache.org>
1 parent f18b980 commit 46379fb

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

src/main/java/org/apache/nifi/parameter/ParameterProvider.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,27 @@ public interface ParameterProvider extends ConfigurableComponent {
8989
*/
9090
List<ParameterGroup> fetchParameters(ConfigurationContext context) throws IOException;
9191

92+
/**
93+
* Lists named groups of parameters from an external source, returning only parameter metadata without necessarily resolving
94+
* parameter values. This method is intended for use cases such as populating a parameter picker UI, where only the names,
95+
* groups, and descriptions of available parameters are needed.
96+
*
97+
* <p>
98+
* The default implementation delegates to {@link #fetchParameters(ConfigurationContext)}, which fetches all parameter values.
99+
* Implementations that can enumerate parameter metadata without the cost of fetching values (for example, by querying a
100+
* catalog or running a metadata-only listing command) should override this method to provide an optimized implementation.
101+
* In such cases, the returned {@link Parameter} objects may have {@code null} values.
102+
* </p>
103+
*
104+
* @param context The <code>ConfigurationContext</code> for the provider
105+
* @return A list of Parameter groups containing parameter metadata. Parameter values may be {@code null} if the
106+
* implementation provides metadata without resolving values.
107+
* @throws IOException if there is an I/O problem while listing the Parameters
108+
*/
109+
default List<ParameterGroup> listParameters(final ConfigurationContext context) throws IOException {
110+
return fetchParameters(context);
111+
}
112+
92113
/**
93114
* <p>
94115
* Allows for the migration of an old property configuration to a new configuration. This allows the Parameter Provider to evolve over time,

0 commit comments

Comments
 (0)