public interface IChemObjectIO extends Closeable
The easiest way to implement a new IChemObjectReader is to
subclass the DefaultChemObjectReader.
DefaultChemObjectReader| Modifier and Type | Method and Description |
|---|---|
boolean |
accepts(Class<? extends IChemObject> classObject)
Returns whether the given
IChemObject can be read or written. |
void |
addChemObjectIOListener(IChemObjectIOListener listener)
Adds a
IChemObjectIOListener to this IChemObjectIO. |
<S extends IOSetting> |
addSetting(IOSetting setting)
Add an IOSetting to the reader/writer.
|
void |
addSettings(Collection<IOSetting> settings)
Adds a collection of
IOSettings to the reader/writer. |
void |
close()
Closes this IChemObjectIO's resources.
|
IResourceFormat |
getFormat()
Returns the
IResourceFormat class for this IO class. |
IOSetting[] |
getIOSettings()
Returns an array of
IOSettings defined by this IChemObjectIO class. |
Collection<IChemObjectIOListener> |
getListeners()
Access all the listeners for this ChemObject Reader or Writer.
|
<S extends IOSetting> |
getSetting(String name)
Access a named setting managed by this reader/writer.
|
<S extends IOSetting> |
getSetting(String name,
Class<S> c)
Access a named setting managed by this reader/writer.
|
Collection<IOSetting> |
getSettings()
Access a collection of
IOSettings for this reader/writer. |
boolean |
hasSetting(String name)
Determine whether this reader/writer has a setting of the
provided name.
|
void |
removeChemObjectIOListener(IChemObjectIOListener listener)
Removes a
IChemObjectIOListener from this IChemObjectIO. |
IResourceFormat getFormat()
IResourceFormat class for this IO class.boolean accepts(Class<? extends IChemObject> classObject)
IChemObject can be read or written.classObject - IChemObject of which is tested if it can be handled.IChemObject can be handled.void close()
throws IOException
close in interface AutoCloseableclose in interface CloseableIOException - when the wrapper IO class cannot be closed.IOSetting[] getIOSettings()
IOSettings defined by this IChemObjectIO class.IOSettings for this class.void addChemObjectIOListener(IChemObjectIOListener listener)
IChemObjectIOListener to this IChemObjectIO.listener - the reader listener to add.void removeChemObjectIOListener(IChemObjectIOListener listener)
IChemObjectIOListener from this IChemObjectIO.listener - the listener to be removed.Collection<IChemObjectIOListener> getListeners()
addChemObjectIOListener(org.openscience.cdk.io.listener.IChemObjectIOListener) and
removeChemObjectIOListener(org.openscience.cdk.io.listener.IChemObjectIOListener)<S extends IOSetting> S addSetting(IOSetting setting)
private BooleanIOSetting setting; // field
...
setting = addSetting(new BooleanIOSetting("setting", ...));
// if setting was already added we are now using the correct instance
setting - setting to addSettingManager.add(org.openscience.cdk.interfaces.ISetting)void addSettings(Collection<IOSetting> settings)
IOSettings to the reader/writer. This
is useful for transferring/propagating settings between different
reader/writer.
When the new settings are added if there is a setting with the same
name already stored the value for the new setting is set on the managed
setting (See. IteratingSDFReader/SDFWriter for propagation examples).
Note that if the setting is invalid (a CDKException thrown) then the setting
will not be set.
// two different readers (of same or different type)
IChemObjectReader reader1 = ...;
IChemObjectReader reader2 = ...;
// settings transferred from reader2 to reader1
reader1.addSettings(reader2.getSettings());
settings - collection of settings to addgetSettings()boolean hasSetting(String name)
name - name of a settingSettingManager.has(String)<S extends IOSetting> S getSetting(String name)
S - type to cast toname - name of the settinggetSetting(String, Class),
SettingManager.get(String)<S extends IOSetting> S getSetting(String name, Class<S> c)
S - type to cast toname - name of the settingc - the class of the setting (matching generic return type). This is need
as due to type erasure we don't know the class of 'S' at runtime.getSetting(String),
SettingManager.get(String, Class)Collection<IOSetting> getSettings()
IOSettings for this reader/writer.addSettings(java.util.Collection)Copyright © 2021. All rights reserved.