All Downloads are FREE. Search and download functionalities are using the official Maven repository.

pl.touk.nussknacker.engine.util.loader.ProcessConfigCreatorLoader.scala Maven / Gradle / Ivy

package pl.touk.nussknacker.engine.util.loader

import pl.touk.nussknacker.engine.api.conversion.ProcessConfigCreatorMapping
import pl.touk.nussknacker.engine.api.process.ProcessConfigCreator

class ProcessConfigCreatorLoader(shouldIncludeConfigCreator: ProcessConfigCreator => Boolean)
    extends LoadClassFromClassLoader {

  type JPCC = pl.touk.nussknacker.engine.javaapi.process.ProcessConfigCreator
  type SPCC = ProcessConfigCreator

  override type ClassToLoad = SPCC
  override val prettyClassName: String = "ProcessConfigCreator"

  override def loadAll(classLoader: ClassLoader): List[SPCC] = {
    ScalaServiceLoader.load[SPCC](classLoader).filter(shouldIncludeConfigCreator) ++
      ScalaServiceLoader
        .load[JPCC](classLoader)
        .map(ProcessConfigCreatorMapping.toProcessConfigCreator)
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy