com.github.dakusui.jcunit8.factorspace.FactorSpace Maven / Gradle / Ivy
package com.github.dakusui.jcunit8.factorspace;
import java.util.*;
import static java.lang.String.format;
public interface FactorSpace {
static FactorSpace create(List extends Factor> factors, List constraints) {
List work = new ArrayList<>(constraints);
return new FactorSpace() {
Map factorMap = new LinkedHashMap() {{
factors.forEach(each -> put(each.getName(), each));
}};
@Override
public List getFactors() {
//noinspection unchecked
return (List) factors;
}
@Override
public Factor getFactor(String name) {
return factorMap.get(name);
}
@Override
public List getConstraints() {
return work;
}
@Override
public String toString() {
return format("factors:%s,constraints:%s", factors, constraints);
}
};
}
List getConstraints();
List getFactors();
Factor getFactor(String name);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy