org.unix4j.codegen.optset.def.ActiveSetDef Maven / Gradle / Ivy
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