public abstract class ChemObjectIO extends Object implements IChemObjectIO
IChemObjectIOListener
's and managing of IOSetting
's.
The IOSettings are managed via the SettingManager
class with most
method's wrapped to more descriptive method names (e.g.
SettingManager.get(String)
is invoked by getSetting(String)
).Constructor and Description |
---|
ChemObjectIO() |
Modifier and Type | Method and Description |
---|---|
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. |
protected void |
fireIOSettingQuestion(IOSetting setting)
Fires
IChemObjectIOListener.processIOSettingQuestion(org.openscience.cdk.io.setting.IOSetting)
for all managed listeners. |
IOSetting[] |
getIOSettings()
Returns an array of
IOSetting s defined by this IChemObjectIO class. |
List<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. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
accepts, close, getFormat
public List<IChemObjectIOListener> getListeners()
IChemObjectIO.addChemObjectIOListener(org.openscience.cdk.io.listener.IChemObjectIOListener)
and
IChemObjectIO.removeChemObjectIOListener(org.openscience.cdk.io.listener.IChemObjectIOListener)
getListeners
in interface IChemObjectIO
public void addChemObjectIOListener(IChemObjectIOListener listener)
IChemObjectIOListener
to this IChemObjectIO.addChemObjectIOListener
in interface IChemObjectIO
listener
- the reader listener to add.public void removeChemObjectIOListener(IChemObjectIOListener listener)
IChemObjectIOListener
from this IChemObjectIO.removeChemObjectIOListener
in interface IChemObjectIO
listener
- the listener to be removed.public <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
addSetting
in interface IChemObjectIO
setting
- setting to addSettingManager.add(org.openscience.cdk.interfaces.ISetting)
public 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());
addSettings
in interface IChemObjectIO
settings
- collection of settings to addIChemObjectIO.getSettings()
public boolean hasSetting(String name)
hasSetting
in interface IChemObjectIO
name
- name of a settingSettingManager.has(String)
public <S extends IOSetting> S getSetting(String name)
getSetting
in interface IChemObjectIO
S
- type to cast toname
- name of the settingIChemObjectIO.getSetting(String, Class)
,
SettingManager.get(String)
public <S extends IOSetting> S getSetting(String name, Class<S> c)
getSetting
in interface IChemObjectIO
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.IChemObjectIO.getSetting(String)
,
SettingManager.get(String, Class)
public IOSetting[] getIOSettings()
IOSetting
s defined by this IChemObjectIO class.getIOSettings
in interface IChemObjectIO
IOSetting
s for this class.public Collection<IOSetting> getSettings()
IOSetting
s for this reader/writer.getSettings
in interface IChemObjectIO
IChemObjectIO.addSettings(java.util.Collection)
protected void fireIOSettingQuestion(IOSetting setting)
IChemObjectIOListener.processIOSettingQuestion(org.openscience.cdk.io.setting.IOSetting)
for all managed listeners.setting
- the setting to processCopyright © 2022. All rights reserved.