Package org.scijava.io
Interface IOService
-
- All Superinterfaces:
Comparable<Prioritized>,Contextual,Disposable,HandlerService<Location,IOPlugin<?>>,HasPluginInfo,Identifiable,Initializable,Locatable,Logged,Prioritized,PTService<IOPlugin<?>>,RichPlugin,SciJavaPlugin,SciJavaService,Service,SingletonService<IOPlugin<?>>,Typed<Location>,TypedService<Location,IOPlugin<?>>,Versioned
- All Known Implementing Classes:
DefaultIOService
public interface IOService extends HandlerService<Location,IOPlugin<?>>, SciJavaService
Interface for high-level data I/O: opening and saving data.- Author:
- Curtis Rueden
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description IOPlugin<?>getOpener(String source)Gets the most appropriateIOPluginfor opening data from the given location.default IOPlugin<?>getOpener(Location source)Gets the most appropriateIOPluginfor opening data from the given location.default Class<IOPlugin<?>>getPluginType()Gets the type of plugins managed by this service.<D> IOPlugin<D>getSaver(D data, String destination)Gets the most appropriateIOPluginfor saving data to the given location.default <D> IOPlugin<D>getSaver(D data, Location destination)Gets the most appropriateIOPluginfor saving data to the given location.default Class<Location>getType()Gets the type associated with the object.Objectopen(String source)Loads data from the given source.default Objectopen(Location source)Loads data from the given location.voidsave(Object data, String destination)Saves data to the given destination.default voidsave(Object data, Location destination)Saves data to the given location.-
Methods inherited from interface org.scijava.Contextual
context, getContext, setContext
-
Methods inherited from interface org.scijava.Disposable
dispose
-
Methods inherited from interface org.scijava.plugin.HandlerService
getHandler, getInstances, supports
-
Methods inherited from interface org.scijava.plugin.HasPluginInfo
getInfo, setInfo
-
Methods inherited from interface org.scijava.Locatable
getLocation
-
Methods inherited from interface org.scijava.Prioritized
compareTo, getPriority, setPriority
-
Methods inherited from interface org.scijava.plugin.PTService
getPlugins, getPluginService, pluginService
-
Methods inherited from interface org.scijava.plugin.RichPlugin
getIdentifier, log
-
Methods inherited from interface org.scijava.service.Service
registerEventHandlers
-
Methods inherited from interface org.scijava.plugin.SingletonService
create, filterInstances, getInstance, initialize, objectService
-
Methods inherited from interface org.scijava.plugin.TypedService
find
-
Methods inherited from interface org.scijava.Versioned
getVersion
-
-
-
-
Method Detail
-
getOpener
IOPlugin<?> getOpener(String source) throws IOException
Gets the most appropriateIOPluginfor opening data from the given location.- Throws:
IOException
-
getOpener
default IOPlugin<?> getOpener(Location source)
Gets the most appropriateIOPluginfor opening data from the given location.
-
getSaver
<D> IOPlugin<D> getSaver(D data, String destination) throws IOException
Gets the most appropriateIOPluginfor saving data to the given location.- Throws:
IOException
-
getSaver
default <D> IOPlugin<D> getSaver(D data, Location destination)
Gets the most appropriateIOPluginfor saving data to the given location.
-
open
Object open(String source) throws IOException
Loads data from the given source. For extensibility, the nature of the source is left intentionally general, but two common examples include file paths and URLs.The opener to use is automatically determined based on available
IOPlugins; seegetOpener(String).- Parameters:
source- The source (e.g., file path) from which to data should be loaded.- Returns:
- An object representing the loaded data, or null if the source is not supported.
- Throws:
IOException- if something goes wrong loading the data.
-
open
default Object open(Location source) throws IOException
Loads data from the given location.The opener to use is automatically determined based on available
IOPlugins; seegetOpener(Location).- Parameters:
source- The location from which to data should be loaded.- Returns:
- An object representing the loaded data, or null if the source is not supported.
- Throws:
IOException- if something goes wrong loading the data.
-
save
void save(Object data, String destination) throws IOException
Saves data to the given destination. The nature of the destination is left intentionally general, but the most common example is a file path.The saver to use is automatically determined based on available
IOPlugins; seegetSaver(Object, String).- Parameters:
data- The data to be saved to the destination.destination- The destination (e.g., file path) to which data should be saved.- Throws:
IOException- if something goes wrong saving the data.
-
save
default void save(Object data, Location destination) throws IOException
Saves data to the given location.The saver to use is automatically determined based on available
IOPlugins; seegetSaver(Object, Location).- Parameters:
data- The data to be saved to the destination.destination- The destination location to which data should be saved.- Throws:
IOException- if something goes wrong saving the data.
-
getPluginType
default Class<IOPlugin<?>> getPluginType()
Description copied from interface:PTServiceGets the type of plugins managed by this service.- Specified by:
getPluginTypein interfacePTService<IOPlugin<?>>
-
-