public abstract class SolverFactory<Solution_ extends 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  Solverinstance. | 
| abstract SolverFactory<Solution_> | cloneSolverFactory()Build a  SolverFactoryquickly (without parsing XML) that builds the exact sameSolverwithbuildSolver(), but can also be modified withgetSolverConfig()to build a differentSolverwithout affecting the originalSolverFactory. | 
| static <Solution_ extends 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 withgetSolverConfig(). | 
| static <Solution_ extends Solution>  | createEmpty(ClassLoader classLoader)See  createEmpty(). | 
| static <Solution_ extends Solution>  | createFromKieContainerXmlResource(org.kie.api.runtime.KieContainer kieContainer,
                                 String solverConfigResource) | 
| static <Solution_ extends Solution>  | createFromKieContainerXmlResource(org.kie.api.builder.ReleaseId releaseId,
                                 String solverConfigResource) | 
| static <Solution_ extends Solution>  | createFromKieContainerXmlResource(String solverConfigResource)Uses  KieServices.getKieClasspathContainer(). | 
| static <Solution_ extends Solution>  | createFromXmlFile(File solverConfigFile) | 
| static <Solution_ extends Solution>  | createFromXmlFile(File solverConfigFile,
                 ClassLoader classLoader) | 
| static <Solution_ extends Solution>  | createFromXmlInputStream(InputStream in) | 
| static <Solution_ extends Solution>  | createFromXmlInputStream(InputStream in,
                        ClassLoader classLoader) | 
| static <Solution_ extends Solution>  | createFromXmlReader(Reader reader) | 
| static <Solution_ extends Solution>  | createFromXmlReader(Reader reader,
                   ClassLoader classLoader) | 
| static <Solution_ extends Solution>  | createFromXmlResource(String solverConfigResource) | 
| static <Solution_ extends Solution>  | createFromXmlResource(String solverConfigResource,
                     ClassLoader classLoader) | 
| abstract SolverConfig | getSolverConfig()Allows you to problematically change the  SolverConfigat runtime before building theSolver. | 
public static <Solution_ extends Solution> SolverFactory<Solution_> createEmpty()
createFromXmlResource(String)
 and configure the remainder programmatically with getSolverConfig().public static <Solution_ extends 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_ extends 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_ extends 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_ extends 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_ extends Solution> SolverFactory<Solution_> createFromXmlResource(String solverConfigResource)
solverConfigResource - never null, a classpath resource
 as defined by ClassLoader.getResource(String)public static <Solution_ extends 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_ extends Solution> SolverFactory<Solution_> createFromXmlFile(File solverConfigFile)
solverConfigFile - never nullpublic static <Solution_ extends 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_ extends Solution> SolverFactory<Solution_> createFromXmlInputStream(InputStream in)
in - never null, gets closedpublic static <Solution_ extends 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_ extends Solution> SolverFactory<Solution_> createFromXmlReader(Reader reader)
reader - never null, gets closedpublic static <Solution_ extends 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 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–2016 JBoss by Red Hat. All rights reserved.