Ticket #1921 (closed task: fixed)
Opened 2013-06-07T15:44:29-05:00
Last modified 2013-06-27T22:56:37-05:00
Create an IOPlugin
Reported by: | curtis | Owned by: | curtis |
---|---|---|---|
Priority: | critical | Milestone: | imagej2-b8-analysis |
Component: | I/O | Version: | |
Severity: | non-issue | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | #1920 |
Description
File Open and File Save are currently extensible for images, thanks to SCIFIO. But they need to be generally extensible beyond just images. That's where IOPlugin comes in. This plugin type will have a flagship ImageIOPlugin that just uses SCIFIO. But we'll need other IOPlugin implementations for handling stuff like LUTs, text files, scripts... whatever we want ImageJ to be able to open.
The IOService should be extended to be a HandlerService<String, IOPlugin> (where String is the data source, typically but not necessarily a filename). The DragAndDropService still needs to exist and its infrastructure is necessary, but the number of DragAndDropHandler plugins should decrease; there only needs to be one FileDragAndDropHandler that just calls ioService.load(file) rather than worrying about what type of file it is.