Class SolutionBusiness<Solution_,​Score_ extends org.optaplanner.core.api.score.Score<Score_>>

  • Type Parameters:
    Solution_ - the solution type, the class with the PlanningSolution annotation

    public class SolutionBusiness<Solution_,​Score_ extends org.optaplanner.core.api.score.Score<Score_>>
    extends Object
    • Constructor Detail

      • SolutionBusiness

        public SolutionBusiness​(CommonApp app)
    • Method Detail

      • getAppName

        public String getAppName()
      • getAppDescription

        public String getAppDescription()
      • getAppIconResource

        public String getAppIconResource()
      • getDataDir

        public File getDataDir()
      • setDataDir

        public void setDataDir​(File dataDir)
      • getSolutionFileIO

        public org.optaplanner.persistence.common.api.domain.solution.SolutionFileIO<Solution_> getSolutionFileIO()
      • setSolutionFileIO

        public void setSolutionFileIO​(org.optaplanner.persistence.common.api.domain.solution.SolutionFileIO<Solution_> solutionFileIO)
      • hasImporter

        public boolean hasImporter()
      • hasExporter

        public boolean hasExporter()
      • updateDataDirs

        public void updateDataDirs()
      • getImportDataDir

        public File getImportDataDir()
      • getUnsolvedDataDir

        public File getUnsolvedDataDir()
      • getSolvedDataDir

        public File getSolvedDataDir()
      • getExportDataDir

        public File getExportDataDir()
      • setSolver

        public void setSolver​(org.optaplanner.core.api.solver.SolverFactory<Solution_> solverFactory)
      • getUnsolvedFileList

        public List<File> getUnsolvedFileList()
      • getSolvedFileList

        public List<File> getSolvedFileList()
      • getSolution

        public Solution_ getSolution()
      • setSolution

        public void setSolution​(Solution_ solution)
      • getSolutionFileName

        public String getSolutionFileName()
      • setSolutionFileName

        public void setSolutionFileName​(String solutionFileName)
      • getScore

        public Score_ getScore()
      • isSolving

        public boolean isSolving()
      • isConstraintMatchEnabled

        public boolean isConstraintMatchEnabled()
      • getConstraintMatchTotalList

        public List<org.optaplanner.core.api.score.constraint.ConstraintMatchTotal<Score_>> getConstraintMatchTotalList()
      • getIndictmentMap

        public Map<Object,​org.optaplanner.core.api.score.constraint.Indictment<Score_>> getIndictmentMap()
      • importSolution

        public void importSolution​(File file)
      • openSolution

        public void openSolution​(File file)
      • saveSolution

        public void saveSolution​(File file)
      • doMove

        public void doMove​(org.optaplanner.core.impl.heuristic.move.Move<Solution_> move)
      • doProblemFactChange

        public void doProblemFactChange​(org.optaplanner.core.api.solver.ProblemFactChange<Solution_> problemFactChange)
      • solve

        public Solution_ solve​(Solution_ problem)
        Can be called on any thread.

        Note: This method does not change the guiScoreDirector because that can only be changed on the event thread.

        Parameters:
        problem - never null
        Returns:
        never null
      • terminateSolvingEarly

        public void terminateSolvingEarly()
      • createChangeMove

        public org.optaplanner.core.impl.heuristic.selector.move.generic.ChangeMove<Solution_> createChangeMove​(Object entity,
                                                                                                                String variableName,
                                                                                                                Object toPlanningValue)
      • doChangeMove

        public void doChangeMove​(Object entity,
                                 String variableName,
                                 Object toPlanningValue)
      • createSwapMove

        public org.optaplanner.core.impl.heuristic.selector.move.generic.SwapMove<Solution_> createSwapMove​(Object leftEntity,
                                                                                                            Object rightEntity)
      • doSwapMove

        public void doSwapMove​(Object leftEntity,
                               Object rightEntity)