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
IOSetting s 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
IOSetting s 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
IOSetting s 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 AutoCloseable
close
in interface Closeable
IOException
- when the wrapper IO class cannot be closed.IOSetting[] getIOSettings()
IOSetting
s defined by this IChemObjectIO class.IOSetting
s 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)
IOSetting
s 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()
IOSetting
s for this reader/writer.addSettings(java.util.Collection)
Copyright © 2022. All rights reserved.