Solution_ - the solution type, the class with the PlanningSolution annotationpublic abstract class SolverFactory<Solution_> extends Object
Solver instances.
To build an instance, use createFromXmlResource(String) or any of the other creation methods.
Supports tweaking the configuration programmatically before a Solver instance is build.
| Constructor and Description |
|---|
SolverFactory() |
| Modifier and Type | Method and Description |
|---|---|
abstract Solver<Solution_> |
buildSolver()
Creates a new
Solver instance. |
abstract SolverFactory<Solution_> |
cloneSolverFactory()
Build a
SolverFactory quickly (without parsing XML) that builds the exact same Solver
with buildSolver(), but can also be modified with getSolverConfig() to build a different
Solver without affecting the original SolverFactory. |
static <Solution_> |
createEmpty()
Useful to build configuration programmatically, although it's almost always recommended
to instead load a partial configuration with
createFromXmlResource(String)
and configure the remainder programmatically with getSolverConfig(). |
static <Solution_> |
createEmpty(ClassLoader classLoader)
See
createEmpty(). |
static <Solution_> |
createEmptyFromKieContainer(org.kie.api.runtime.KieContainer kieContainer) |
static <Solution_> |
createEmptyFromKieContainer(org.kie.api.builder.ReleaseId releaseId) |
static <Solution_> |
createFromKieContainerXmlResource(org.kie.api.runtime.KieContainer kieContainer,
String solverConfigResource) |
static <Solution_> |
createFromKieContainerXmlResource(org.kie.api.builder.ReleaseId releaseId,
String solverConfigResource) |
static <Solution_> |
createFromKieContainerXmlResource(String solverConfigResource)
Uses
KieServices.getKieClasspathContainer(). |
static <Solution_> |
createFromXmlFile(File solverConfigFile) |
static <Solution_> |
createFromXmlFile(File solverConfigFile,
ClassLoader classLoader) |
static <Solution_> |
createFromXmlInputStream(InputStream in) |
static <Solution_> |
createFromXmlInputStream(InputStream in,
ClassLoader classLoader) |
static <Solution_> |
createFromXmlReader(Reader reader) |
static <Solution_> |
createFromXmlReader(Reader reader,
ClassLoader classLoader) |
static <Solution_> |
createFromXmlResource(String solverConfigResource) |
static <Solution_> |
createFromXmlResource(String solverConfigResource,
ClassLoader classLoader)
|
abstract SolverConfig |
getSolverConfig()
Allows you to programmatically change the
SolverConfig at runtime before building the Solver. |
public static <Solution_> SolverFactory<Solution_> createFromKieContainerXmlResource(String solverConfigResource)
KieServices.getKieClasspathContainer().solverConfigResource - never null, a classpath resource in the KieContainer
as defined by ClassLoader.getResource(String)public static <Solution_> SolverFactory<Solution_> createFromKieContainerXmlResource(org.kie.api.builder.ReleaseId releaseId, String solverConfigResource)
releaseId - never nullsolverConfigResource - never null, a classpath resource in the KieContainer
as defined by ClassLoader.getResource(String)public static <Solution_> SolverFactory<Solution_> createFromKieContainerXmlResource(org.kie.api.runtime.KieContainer kieContainer, String solverConfigResource)
kieContainer - never nullsolverConfigResource - never null, a classpath resource in the KieContainer
as defined by ClassLoader.getResource(String)public static <Solution_> SolverFactory<Solution_> createFromXmlResource(String solverConfigResource)
solverConfigResource - never null, a classpath resource
as defined by ClassLoader.getResource(String)public static <Solution_> SolverFactory<Solution_> createFromXmlResource(String solverConfigResource, ClassLoader classLoader)
solverConfigResource - never null, a classpath resource
as defined by ClassLoader.getResource(String)classLoader - sometimes null, the ClassLoader to use for loading all resources and Classes,
null to use the default ClassLoaderpublic static <Solution_> SolverFactory<Solution_> createFromXmlFile(File solverConfigFile)
solverConfigFile - never nullpublic static <Solution_> SolverFactory<Solution_> createFromXmlFile(File solverConfigFile, ClassLoader classLoader)
solverConfigFile - never nullclassLoader - sometimes null, the ClassLoader to use for loading all resources and Classes,
null to use the default ClassLoaderpublic static <Solution_> SolverFactory<Solution_> createFromXmlInputStream(InputStream in)
in - never null, gets closedpublic static <Solution_> SolverFactory<Solution_> createFromXmlInputStream(InputStream in, ClassLoader classLoader)
in - never null, gets closedclassLoader - sometimes null, the ClassLoader to use for loading all resources and Classes,
null to use the default ClassLoaderpublic static <Solution_> SolverFactory<Solution_> createFromXmlReader(Reader reader)
reader - never null, gets closedpublic static <Solution_> SolverFactory<Solution_> createFromXmlReader(Reader reader, ClassLoader classLoader)
reader - never null, gets closedclassLoader - sometimes null, the ClassLoader to use for loading all resources and Classes,
null to use the default ClassLoaderpublic static <Solution_> SolverFactory<Solution_> createEmpty()
createFromXmlResource(String)
and configure the remainder programmatically with getSolverConfig().public static <Solution_> SolverFactory<Solution_> createEmpty(ClassLoader classLoader)
createEmpty().classLoader - sometimes null, the ClassLoader to use for loading all resources and Classes,
null to use the default ClassLoaderpublic static <Solution_> SolverFactory<Solution_> createEmptyFromKieContainer(org.kie.api.builder.ReleaseId releaseId)
releaseId - never nullpublic static <Solution_> SolverFactory<Solution_> createEmptyFromKieContainer(org.kie.api.runtime.KieContainer kieContainer)
kieContainer - never nullpublic abstract SolverConfig getSolverConfig()
SolverConfig at runtime before building the Solver.
This method is not thread-safe. To configure a SolverConfig differently for parallel requests,
build a template SolverFactory from XML
and clone it cloneSolverFactory() for each request, before before calling this method.
public abstract SolverFactory<Solution_> cloneSolverFactory()
SolverFactory quickly (without parsing XML) that builds the exact same Solver
with buildSolver(), but can also be modified with getSolverConfig() to build a different
Solver without affecting the original SolverFactory.SolverFactory subclass implementation than this instanceCopyright © 2006–2019 JBoss by Red Hat. All rights reserved.