public Map<String, SystemFactory> getSystemFactories() {
    Map<String, SystemFactory> systemFactories = getSystemNames().stream().collect(Collectors.toMap(
      systemName -> systemName,
      systemName -> {
        String systemFactoryClassName = getSystemFactory(systemName).orElseThrow(() -> new SamzaException(
            String.format("A stream uses system %s, which is missing from the configuration.", systemName)));
        return ReflectionUtil.getObj(systemFactoryClassName, SystemFactory.class);
      }));

    return systemFactories;
  }
Get {@link SystemFactory} instances for all the systems defined in this config.

@return a map from system name to {@link SystemFactory}
samza-core/src/main/java/org/apache/samza/config/SystemConfig.java