package org.knime.knip.io.nodes.annotation;
import java.util.HashMap;
import java.util.Map;
import org.knime.core.node.InvalidSettingsException;
import org.knime.core.node.NodeSettingsRO;
import org.knime.core.node.NodeSettingsWO;
import org.knime.core.node.NotConfigurableException;
import org.knime.core.node.defaultnodesettings.SettingsModel;
import org.knime.core.node.port.PortObjectSpec;
import org.knime.knip.core.ui.imgviewer.annotator.RowColKey;
public abstract class SettingsModelAnnotatorView<A> extends SettingsModel {
public abstract void setAnnotationMap(HashMap<RowColKey, A> map);
public abstract Map<RowColKey, A> getAnnotationMap();
protected abstract void saveSettings(NodeSettingsWO settings);
protected abstract void loadSettings(NodeSettingsRO settings);
//
// standard methods
//
@Override
protected void loadSettingsForDialog(NodeSettingsRO settings,
PortObjectSpec[] specs) throws NotConfigurableException {
loadSettings(settings);
}
@Override
protected void saveSettingsForDialog(NodeSettingsWO settings)
throws InvalidSettingsException {
saveSettings(settings);
}
@Override
protected void loadSettingsForModel(NodeSettingsRO settings)
throws InvalidSettingsException {
loadSettings(settings);
}
@Override
protected void saveSettingsForModel(NodeSettingsWO settings) {
saveSettings(settings);
}
@Override
protected void validateSettingsForModel(NodeSettingsRO settings)
throws InvalidSettingsException {
// Nothing to do here
}
}