Class SolutionBusiness<Solution_>

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

    public class SolutionBusiness<Solution_>
    extends Object
    • Field Detail

      • logger

        protected final transient org.slf4j.Logger logger
    • 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()
      • getExportFileSuffix

        public String getExportFileSuffix()
      • setSolver

        public void setSolver​(org.optaplanner.core.api.solver.Solver<Solution_> solver)
      • setGuiScoreDirector

        public void setGuiScoreDirector​(org.optaplanner.core.impl.score.director.ScoreDirector<Solution_> guiScoreDirector)
      • 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 org.optaplanner.core.api.score.Score getScore()
      • isSolving

        public boolean isSolving()
      • registerForBestSolutionChanges

        public void registerForBestSolutionChanges​(SolverAndPersistenceFrame solverAndPersistenceFrame)
      • isConstraintMatchEnabled

        public boolean isConstraintMatchEnabled()
      • getConstraintMatchTotalList

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

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

        public void importSolution​(File file)
      • openSolution

        public void openSolution​(File file)
      • saveSolution

        public void saveSolution​(File file)
      • exportSolution

        public void exportSolution​(File file)
      • doMove

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

        public void doProblemFactChange​(org.optaplanner.core.impl.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)