3
* $Date: 2007-01-04 18:46:10 +0100 (Thu, 04 Jan 2007) $
6
* Copyright (C) 2003-2007 The CDK Development Team
8
* Contact: cdk-devel@lists.sourceforge.net
10
* This library is free software; you can redistribute it and/or
11
* modify it under the terms of the GNU Lesser General Public
12
* License as published by the Free Software Foundation; either
13
* version 2.1 of the License, or (at your option) any later version.
15
* This library is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18
* Lesser General Public License for more details.
20
* You should have received a copy of the GNU Lesser General Public
21
* License along with this library; if not, write to the Free Software
22
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
24
package org.openscience.cdk.io.setting;
26
import java.util.Vector;
28
import org.openscience.cdk.exception.CDKException;
31
* An class for a reader setting which must be found in the list
32
* of possible settings.
36
* @author Egon Willighagen <egonw@sci.kun.nl>
38
public class OptionIOSetting extends IOSetting {
40
private Vector settings;
43
* OptionIOSetting is IOSetting for which the value must be
44
* in the list of possible options.
46
public OptionIOSetting(String name, int level,
47
String question, Vector settings,
48
String defaultSetting) {
49
super(name, level, question, defaultSetting);
50
this.settings = settings;
51
if (!this.settings.contains(defaultSetting)) {
52
this.settings.add(defaultSetting);
57
* Sets the setting for a certain question. It will throw
58
* a CDKException when the setting is not valid.
61
public void setSetting(String setting) throws CDKException {
62
if (settings.contains(setting)) {
63
this.setting = setting;
65
throw new CDKException("Setting " + setting + " is not allowed.");
70
* Sets the setting for a certain question. It will throw
71
* a CDKException when the setting is not valid. The first setting is
75
public void setSetting(int setting) throws CDKException {
76
if (setting < settings.size() + 1 && setting > 0) {
77
this.setting = (String)settings.elementAt(setting-1);
79
throw new CDKException("Setting " + setting + " does not exist.");
84
* Returns a Vector of Strings containing all possible options.
86
public Vector getOptions() {