All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.unix4j.codegen.optset.def.ActiveSetDef Maven / Gradle / Ivy

There is a newer version: 0.6
Show newest version
package org.unix4j.codegen.optset.def;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;

import org.unix4j.codegen.command.def.OptionDef;
import org.unix4j.codegen.def.AbstractElementDef;
import org.unix4j.codegen.optset.OptionHelper;

public class ActiveSetDef extends AbstractElementDef {
	
	public ActiveSetDef(Map active) {
		this(new OptionHelper().getNameWithOptionPostfix("Active", active.values()), active.keySet());
	}
	public ActiveSetDef(String name, Set active) {
		this.name = name;
		this.active.addAll(active);
	}

	public final String name;
	public final SortedSet active = new TreeSet();								//option (long) names
	public final Map next = new LinkedHashMap();	//key: option (long) names (does not contain self refs)

	public Set getAllOptions() {
		final Set options = new TreeSet();
		options.addAll(active);
		options.addAll(next.keySet());
		return options;
	}
	@Override
	public String toString() {
		return "\n" + 
			"\tname:\t" + name + "\n" +
			"\tactive:\t" + active + "\n" +
			"\tnext:\t" + toNextString() + "\n";
	}

	private String toNextString() {
		final Map nextMap = new LinkedHashMap();
		for (final Map.Entry e : next.entrySet()) {
			nextMap.put(e.getKey(), e.getValue().name);
		}
		return nextMap.toString();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy