Interface SolutionFileIO<Solution_>
- Type Parameters:
Solution_
- the solution type, the class with thePlanningSolution
annotation
- All Known Implementing Classes:
JacksonSolutionFileIO
,JaxbSolutionFileIO
,XStreamSolutionFileIO
public interface SolutionFileIO<Solution_>
-
Method Summary
Modifier and TypeMethodDescriptionEveryPlanningSolution
type potentially has its own file extension.default String
It's highly recommended that this method returns the same value asgetInputFileExtension()
, which it does by default unless it's overridden, because a good output file is able to function as an input file.This method is thread-safe.void
This method is thread-safe.
-
Method Details
-
getInputFileExtension
String getInputFileExtension()EveryPlanningSolution
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
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.
- Returns:
- never null, for example "xml"
- If this
-
getOutputFileExtension
It's highly recommended that this method returns the same value asgetInputFileExtension()
, which it does by default unless it's overridden, because a good output file is able to function as an input file.- Returns:
- never null, for example "xml"
- See Also:
-
read
This method is thread-safe.- Parameters:
inputSolutionFile
- never null- Returns:
- never null
-
write
This method is thread-safe.- Parameters:
solution
- never nulloutputSolutionFile
- never null, parent directory already exists
-