private void processImplementedInterface()

in src/main/java/org/apache/nifi/extension/definition/extraction/ExtensionDefinitionFactory.java [125:137]


    private void processImplementedInterface(final Class<?> implementedInterface, final Class<?> controllerServiceClass, final Set<ServiceAPIDefinition> serviceApis) {
        if (controllerServiceClass.isAssignableFrom(implementedInterface) && !controllerServiceClass.equals(implementedInterface)) {
            final ClassLoader interfaceClassLoader = implementedInterface.getClassLoader();
            if (interfaceClassLoader instanceof ExtensionClassLoader) {
                final Artifact interfaceNarArtifact = ((ExtensionClassLoader) interfaceClassLoader).getNarArtifact();

                final ServiceAPIDefinition serviceDefinition = new StandardServiceAPIDefinition(implementedInterface.getName(),
                        interfaceNarArtifact.getGroupId(), interfaceNarArtifact.getArtifactId(), interfaceNarArtifact.getBaseVersion());

                serviceApis.add(serviceDefinition);
            }
        }
    }