view common/src/main/java/digilib/util/OptionsSet.java @ 1158:2ee261676828 default tip

better out-of-the box experience: * digilib works without config files using sensible defaults * new sample images folder used by default * config files moved to templates
author robcast
date Tue, 19 Feb 2013 17:32:25 +0100
parents 7779b37d1d05
children
line wrap: on
line source

/**
 * 
 */
package digilib.util;

import java.util.HashSet;
import java.util.StringTokenizer;

/**
 * @author casties
 *
 */
@SuppressWarnings("serial")
public class OptionsSet extends HashSet<String> {

	protected String optionSep = ",";
	
	public OptionsSet() {
		super();
	}

	/** Constructor with String of options.
	 * @param s
	 */
	public OptionsSet(String s) {
		super();
		parseString(s);
	}

	/** Adds all options from String to Set.
	 * @param s
	 */
	public void parseString(String s) {
		if (s != null) {
			StringTokenizer i = new StringTokenizer(s, optionSep);
			while (i.hasMoreTokens()) {
				String opt = i.nextToken();
				this.add(opt);
			}
		}
	}
	
	public boolean hasOption(String opt) {
		return this.contains(opt);
	}

	public String toString() {
		StringBuffer b = new StringBuffer();
		for (String s: this) {
			if (b.length() > 0) {
				b.append(optionSep);
			}
			b.append(s);			
		}
		return b.toString();
	}
	
	
	public String getOptionSep() {
		return optionSep;
	}

	public void setOptionSep(String optionSep) {
		this.optionSep = optionSep;
	}

}