package genius.gui.tree; import genius.core.utility.UncertainAdditiveUtilitySpace; import genius.core.utility.UtilitySpace; import genius.gui.panels.BooleanModel; import genius.gui.panels.SpinnerModel; /** * Holds the uncertainty settings (while editing a profile) */ public class UncertaintySettingsModel { private BooleanModel isEnabled; private SpinnerModel comparisons; private SpinnerModel errors; private BooleanModel isExperimental = new BooleanModel(false); private long totalBids; /** * @oaran nbids the number of bids in the space. * @param enable * the default value for enabledness of Uncertainty. */ public UncertaintySettingsModel(UtilitySpace space, boolean enable) { isEnabled = new BooleanModel(enable); totalBids = space.getDomain().getNumberOfPossibleBids(); UncertainAdditiveUtilitySpace uspace = (space instanceof UncertainAdditiveUtilitySpace) ? (UncertainAdditiveUtilitySpace) space : null; comparisons = new SpinnerModel( uspace != null ? uspace.getComparisons() : 0, 0, (int) totalBids, 1); errors = new SpinnerModel( uspace != null ? uspace.getErrors() : 0, 0, (int) totalBids, 1); } public SpinnerModel getComparisons() { return comparisons; } public SpinnerModel getErrors() { return errors; } public BooleanModel getIsExperimental() { return isExperimental; } public BooleanModel getIsEnabled() { return isEnabled; } public long getTotalBids() { return totalBids; } }