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
IOSettings 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
IOSettings 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
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. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaccepts, close, getFormatpublic List<IChemObjectIOListener> getListeners()
IChemObjectIO.addChemObjectIOListener(org.openscience.cdk.io.listener.IChemObjectIOListener) and
IChemObjectIO.removeChemObjectIOListener(org.openscience.cdk.io.listener.IChemObjectIOListener)getListeners in interface IChemObjectIOpublic void addChemObjectIOListener(IChemObjectIOListener listener)
IChemObjectIOListener to this IChemObjectIO.addChemObjectIOListener in interface IChemObjectIOlistener - the reader listener to add.public void removeChemObjectIOListener(IChemObjectIOListener listener)
IChemObjectIOListener from this IChemObjectIO.removeChemObjectIOListener in interface IChemObjectIOlistener - 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 IChemObjectIOsetting - setting to addSettingManager.add(org.openscience.cdk.interfaces.ISetting)public 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());
addSettings in interface IChemObjectIOsettings - collection of settings to addIChemObjectIO.getSettings()public boolean hasSetting(String name)
hasSetting in interface IChemObjectIOname - name of a settingSettingManager.has(String)public <S extends IOSetting> S getSetting(String name)
getSetting in interface IChemObjectIOS - 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 IChemObjectIOS - 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()
IOSettings defined by this IChemObjectIO class.getIOSettings in interface IChemObjectIOIOSettings for this class.public Collection<IOSetting> getSettings()
IOSettings for this reader/writer.getSettings in interface IChemObjectIOIChemObjectIO.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.