Improve interface for loading and writing mapping files #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR improves the way that
IMappingFile
s andINamedMappingFile
s are loaded and saved.Instead of being limited to reading from a
File
orInputStream
and writing to aPath
, the loading and writing interfaces are now expanded.I(Named)MappingFile
s, in addition to being readable fromFile
s andInputStream
s (to maintain binary compatibility), can now be read from aPath
orReader
, as well as from a rawList<String>
(helpful for manipulating mapping files in memory).I(Named)MappingFile
now write to aList<String>
instead of directly to aPath
, which is helpful for passing mapping data in memory without need to write to then read from disk. The method of writing to aPath
is kept in, both because it is useful and to remain binary compatibility.Also fixed a bug when writing to a
Path
with no parent directory (which is possible when using an in-memoryFileSystem
like Jimfs) would cause aNullPointerException
due to theFiles.createDirectories
call.