Class JaxbSolutionFileIO<Solution_>

java.lang.Object
org.optaplanner.persistence.jaxb.impl.domain.solution.JaxbSolutionFileIO<Solution_>
Type Parameters:
Solution_ - the solution type, the class with the PlanningSolution annotation
All Implemented Interfaces:
SolutionFileIO<Solution_>

public class JaxbSolutionFileIO<Solution_> extends Object implements SolutionFileIO<Solution_>
  • Constructor Details

    • JaxbSolutionFileIO

      public JaxbSolutionFileIO(Class... jaxbAnnotatedClasses)
  • Method Details

    • getInputFileExtension

      public String getInputFileExtension()
      Description copied from interface: SolutionFileIO
      Every PlanningSolution type potentially has its own file extension. If no specific file extension is defined by the use case, the following are recommended:
      • If this SolutionFileIO implementation serializes to XML, use file extension "xml".
      • If this SolutionFileIO implementation serializes to text, use file extension "txt".
      • If this SolutionFileIO implementation serializes to binary, use file extension "dat".

      It's good practice that both the input and the output file have the same file extension, because a good output file is able to function as an input file. Therefore SolutionFileIO.getOutputFileExtension() defaults to returning the same as this method.

      The file extension does not include the dot that separates it from the base name.

      This method is thread-safe.

      Specified by:
      getInputFileExtension in interface SolutionFileIO<Solution_>
      Returns:
      never null, for example "xml"
    • read

      public Solution_ read(File inputSolutionFile)
      Description copied from interface: SolutionFileIO
      This method is thread-safe.
      Specified by:
      read in interface SolutionFileIO<Solution_>
      Parameters:
      inputSolutionFile - never null
      Returns:
      never null
    • write

      public void write(Solution_ solution, File outputSolutionFile)
      Description copied from interface: SolutionFileIO
      This method is thread-safe.
      Specified by:
      write in interface SolutionFileIO<Solution_>
      Parameters:
      solution - never null
      outputSolutionFile - never null, parent directory already exists