MCPcopy Create free account
hub / github.com/apache/nifi-minifi-cpp / registerClass

Method registerClass

libminifi/include/core/ClassLoader.h:304–326  ·  view source on GitHub ↗

* Register a class with the give ProcessorFactory */

Source from the content-addressed store, hash-verified

302 * Register a class with the give ProcessorFactory
303 */
304 void registerClass(const std::string &name, std::unique_ptr<ObjectFactory> factory) {
305 std::lock_guard<std::mutex> lock(internal_mutex_);
306 if (loaded_factories_.find(name) != loaded_factories_.end()) {
307 return;
308 }
309
310 auto initializer = factory->getInitializer();
311 if (initializer != nullptr) {
312 initializer->initialize();
313 initializers_.emplace_back(std::move(initializer));
314 }
315
316 auto canonical_name = factory->getClassName();
317
318 auto group_name = factory->getGroupName();
319
320 module_mapping_[group_name].push_back(canonical_name);
321 if (canonical_name != name)
322 class_to_group_[canonical_name] = group_name;
323 class_to_group_[name] = group_name;
324
325 loaded_factories_.insert(std::make_pair(name, std::move(factory)));
326 }
327
328 std::vector<std::string> getClasses(const std::string &group) {
329 std::lock_guard<std::mutex> lock(internal_mutex_);

Callers 1

StaticClassTypeMethod · 0.80

Calls 7

getGroupNameMethod · 0.80
findMethod · 0.45
endMethod · 0.45
getInitializerMethod · 0.45
initializeMethod · 0.45
getClassNameMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected